Determine la arquitectura del dispositivo (ARM/ARM64/x86) con 'adb getprop'

Usando adb getprop, encontré algunos valores que creo que son pertinentes, pero no tengo idea de cuál sería el valor de un dispositivo ARM64, mucho menos uno x86.

Para mi dispositivo ARM, los valores son:

ro.product.cpu.abi       armeabi-v7a
ro.product.cpu.abi2      armeabi
ro.product.cpu.abilist32 armeabi-v7a,armeabi
ro.product.cpu.abilist64

Pensé que armabi-v8ame referiría a ARM64, pero Wikipedia dice

la mayoría de los chips admiten AArch32 de 32 bits para aplicaciones heredadas

Entonces, me pregunto si un chip ARMv8 podría cargarse con Android de 32 bits, lo que complicaría aún más las cosas.

¿ Hay alguna manera de determinar la arquitectura de mi dispositivo con adb?

"Me pregunto si un chip armv8 podría cargarse con Android de 32 bits". Definitivamente, Samsung/Moto hizo esto para un montón de dispositivos SoC de 64 bits anteriores.
Para responder a su curiosidad, así es como se vería en un dispositivo de 64 bits: [ro.product.cpu.abi]: [arm64-v8a] [ro.product.cpu.abilist]: [arm64-v8a,armeabi-v7a,armeabi] [ro.product.cpu.abilist32]: [armeabi-v7a,armeabi] [ro.product.cpu.abilist64]: [arm64-v8a]no puedo verificar con un dispositivo x86 porque no tengo ninguno. Pero diría que la imagen es comparable: solo verifique si abilist64tiene un valor. Si es así, es un dispositivo de 64 bits; de lo contrario, se ejecuta en modo de 32 bits.

Respuestas (1)

Investigué un poco en algunas ROM personalizadas para dispositivos x86 y, junto con la información proporcionada por @Izzy, creo que lo descubrí.

Ejemplo de dispositivo ARM64

ro.product.cpu.abilist32  armeabi-v7a,armeabi
ro.product.cpu.abilist64  arm64-v8a

Ejemplo de dispositivo ARM

ro.product.cpu.abilist32  armeabi-v7a,armeabi
ro.product.cpu.abilist64

Ejemplo de dispositivo x86

ro.product.cpu.abilist32  x86,armeabi-v7a,armeabi
ro.product.cpu.abilist64

Entonces, para averiguar qué tipo de dispositivo tienes:

ro.product.cpu.abilist64no vacío =ARM64

ro.product.cpu.abilist32contiene x86=x86

Si ninguna de estas condiciones coincide, tienes un ARMdispositivo