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-v8a
me 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
?
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.abilist64
no vacío =ARM64
ro.product.cpu.abilist32
contiene x86
=x86
Si ninguna de estas condiciones coincide, tienes un ARM
dispositivo
andy yan
izzy
[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 siabilist64
tiene un valor. Si es así, es un dispositivo de 64 bits; de lo contrario, se ejecuta en modo de 32 bits.