To add to @Robert's reply, if the application has no native libraries, it means it is platform independent, so you can get the ABI from adb shell getprop ro.product.cpu.abi
.
In the other case, suppose you have a phone with arm64-v8a
and com.android.chrome
only has a native library for armeabi-v7a
, you can run adb shell pm dump <packagename> | grep primaryCpuAbi
and get the app's ABI.
Example:
$ adb shell pm dump com.android.chrome | grep primaryCpuAbi
primaryCpuAbi=armeabi-v7a
$ adb shell pm dump com.example.platform.independent | grep primaryCpuAbi
primaryCpuAbi=null
You can also try adb shell pm dump <packagename> | grep -A 3 "Dexopt state:"
Example arm
:
Dexopt state:
[com.example.nativelib]
path: /data/app/~~ThisIsAnExampleAAAAAAA==/com.example.nativelib-ThisIsAnExampleAAAAAAA==/base.apk
arm: [status=quicken] [reason=bg-dexopt]
Example arm64
:
Dexopt state:
[com.android.dialer]
path: /system/product/priv-app/Dialer/Dialer.apk
arm64: [status=speed-profile] [reason=bg-dexopt]