Как я могу узнать, является ли моя установленная версия Android, а не CPU, 64-битной или 32-битной?

9

Поскольку предполагается, что 64-битный процессор будет выполнять 32-битные программы , иногда трудно узнать, какую из них я установил на свое устройство.

Есть программы, которые требуют этих знаний, например установщик Xposed Framework .

Что можно считать правильным методом , будь то ADB, командная строка или программное обеспечение?

Я привык делать на настольном Linux:

 sudo uname -a

Может быть, есть какой-то эквивалент для Android?

Дополнительные данные:

  • Некоторые программы, которые должны информировать об этом, не совсем понятны для меня. Это пример некоторого отчета AIDA64. Даже если он показывает 32-разрядную версию, это информация об операционной системе? Я бы сказал, что речь идет только об оборудовании:

    (Нажмите на изображение, чтобы увеличить; мой AIDA64 на испанском языке)

    IMG: пример отчета AIDA64

Вопрос распространяется на этот другой

Сопалахо де Арриерес
источник
Какое устройство у вас есть?
New-To-IT
См. Эту страницу: software.intel.com/en-us/blogs/2014/12/16/… Там говорится, чтобы увидеть свойство ro.product.cpu.abiи связанные с ним ro.product.cpu.abilist32и ro.product.cpu.abilist64в выводе getprop. У меня нет 64-битного устройства, поэтому я не могу проверить несколько вещей. Есть также похожий вопрос по Quora здесь .
Повелитель огня
@ New-To-IT, у меня есть несколько устройств Android. И, как ученый, я работаю с несколькими разными моделями. Поиск универсального метода (или, по крайней мере, как можно более универсального) был бы для меня предпочтительным. Указание устройства могло бы преобразовать этот вопрос в «Как я могу догадаться, является ли установленная версия Android для моей [Бренда] [Модель] [Число] 64-или 32-битной?».
Сопалахо де Арриес
@Firelord: спасибо за ссылку. Кажется, это связано с «текущим устройством», а не с «текущей установленной версией Android». Будет ли это так же?
Сопалахо де Аррирес
1
@Lucky: я протестировал AIDA64 и некоторые другие инструменты, которые сообщают о 32/64-битной информации, но ни один из них не дает четкого представления, идет ли речь об операционной системе или аппаратном обеспечении. Добавлен экран захвата к моему первоначальному вопросу, чтобы показать.
Сопалахо де Арриерес

Ответы:

9

uname -mотобразит архитектуру работающего ядра . Это отличается от того, что ваше оборудование может работать.

К сожалению, вы должны знать, какие архитектуры 32-битные, а какие 64-битные. Но вы можете легко это выяснить.

Например, мой м7 отображает arm7l. Быстрый поиск подтверждает, что это 32-битная архитектура, а это означает, что мое работающее ядро ​​было скомпилировано как 32-битный исполняемый файл.

Пол Ратацци
источник
Но если вы проверите использование, unameвы получите -m The machine (hardware) type. i.stack.imgur.com/DTueH.png
Повелитель
3
Это относится к архитектуре машины, для которой было скомпилировано ядро. Попробуйте установить 32-разрядную версию Ubuntu на свой 64-разрядный компьютер, и вы получите i686 или другое имя 32-разрядной архитектуры uname -m.
Пол Ратацци
Как сказал Павел, uname -mможно обмануть. Некоторые важные подробности здесь: Может ли 64-разрядное аппаратное устройство работать под управлением 32-разрядной версии Android?
Ирфан Латиф