Como posso saber se minha versão do Android instalada, e não a CPU, é de 64 ou 32 bits?

9

Desde que uma CPU de 64 bits execute programas de 32 bits , às vezes é difícil saber qual deles eu instalei no meu dispositivo.

Existem programas que requerem esse conhecimento, como o instalador do Xposed Framework .

O que poderia ser considerado o método adequado , seja ADB, linha de comando ou software?

Eu costumava fazer no Linux desktop:

 sudo uname -a

Talvez haja algum equivalente para o Android?

Dados adicionais:

  • Alguns programas que devem informar sobre isso não são claros para mim. Este é um exemplo de algum relatório AIDA64. Mesmo quando mostra 32 bits, essas informações são sobre o sistema operacional? Eu diria que é apenas sobre o hardware:

    (Clique na imagem para ampliar; meu AIDA64 está em espanhol)

    IMG: exemplo de relatório AIDA64

Pergunta estendida a essa outra

Sopalajo de Arrierez
fonte
Qual dispositivo você tem?
Novo-para-IT
Veja esta página: software.intel.com/en-us/blogs/2014/12/16/… Diz para ver a propriedade ro.product.cpu.abie os relacionados ro.product.cpu.abilist32e ro.product.cpu.abilist64na saída do getprop. Eu não tenho um dispositivo de 64 bits, então não posso testar algumas coisas. Há também uma pergunta semelhante no Quora aqui .
Firelord
@ New-To-IT, tenho vários dispositivos Android. E, como cientista da computação, costumo trabalhar com vários modelos diferentes. Encontrar um método genérico (ou, pelo menos, o mais genérico possível) seria o preferido para mim. A especificação de um dispositivo transformaria esta pergunta em "Como posso adivinhar se a versão do Android instalada para o meu [Brand] [Model] [Number] é de 64 ou 32 bits?".
Sopalajo de Arrierez 22/10
@ Firelord: obrigado pelo link. Parece relacionado ao "dispositivo atual", não à "versão atual do Android instalada". Seria o mesmo?
Sopalajo de Arrierez 22/10/2015
11
@ Lucky: Eu testei o AIDA64, e algumas outras ferramentas que relatam as informações de 32/64 bits, mas nenhuma delas esclarece se elas estão falando sobre o sistema operacional ou o hardware. Adicionada uma tela de captura à minha pergunta original para mostrar.
Sopalajo de Arrierez 22/10

Respostas:

9

uname -mexibirá a arquitetura do kernel em execução . Isso é diferente do que o seu hardware pode ser capaz de executar.

Infelizmente, você precisa saber quais arquiteturas são de 32 bits e quais são de 64 bits. Mas você pode descobrir isso facilmente.

Por exemplo, meu m7 é exibido arm7l. Uma pesquisa rápida confirma que essa é uma arquitetura de 32 bits, o que significa que meu kernel em execução foi compilado como um executável de 32 bits.

Paul Ratazzi
fonte
Mas se você verificar o uso que unamevocê recebe -m The machine (hardware) type. i.stack.imgur.com/DTueH.png
Senhor do fogo
3
Refere-se à arquitetura da máquina para a qual o kernel foi compilado. Tente instalar o Ubuntu de 32 bits no seu computador de 64 bits e você receberá o i686 ou algum outro nome de arquitetura de 32 bits uname -m.
Paul Ratazzi 23/10/2015
Como Paulo disse, uname -mpode enganar. Alguns detalhes relevantes aqui: Um dispositivo de hardware de 64 bits pode executar uma versão Android de 32 bits?
Irfan Latif