Using adb getprop, I've found a few values that I think are pertinent, but I don't have any idea what an ARM64 device's value would like, much less an x86 one.

For my ARM device, the values are:

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

I though armabi-v8a would mean ARM64, but Wikipedia says

most chips support 32-bit AArch32 for legacy applications

So, I'm wondering if an ARMv8 chip could possibly be loaded with 32-bit Android which would further complicate things

Is there any way I can determine my device architecture with adb?

  • 1
    "I'm wondering if an armv8 chip could possibly be loaded with 32bit android" - definitely, Samsung/Moto did this for a bunch of past 64bit SoC devices.
    – Andy Yan
    Dec 30, 2017 at 6:28
  • To answer your curiosity, this is what it would look like on a 64bit device: [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] I cannot check with an x86 device as I have none. But I'd say the picture is comparable: just check whether abilist64 has a value. If so, it's a 64bit device, otherwise it's running in 32bit mode.
    – Izzy
    Dec 30, 2017 at 13:30

1 Answer 1


I did some poking around in some custom ROMs for x86 devices, and along with the info provided by @Izzy I think I've figured it out.

Example ARM64 device

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

Example ARM device

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

Example x86 device

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

So, to figure out what kind of device you have:

ro.product.cpu.abilist64 not empty = ARM64

ro.product.cpu.abilist32 contains x86 = x86

If none of these conditions match, you have an ARM device

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .