Given a APK, how can we find whether its a 32-bit app or a 64-bit app? I am observing an app is unable to run on 64-bit android OS. I guess its a 32-bit app.
APK is ZIP. You can open it and check directory lib to see which architectures are supported. If there is no directory lib , it supports all architectures. 64-bit Android is backwards compatible and can run 32-bit applications.
Nowadays if the developer publishes the app as app-bundle Google only sends those partial APK to your device that match your device platform. Hence if you see an APK file named "armv8" it is 64bit, in case of an armv7[e] it is 32bit.
Assuming you've already bought the device, and opened it, you can go through the device's settings, and install apps to check if an Android phone is 32-bit or 64-bit. Open Settings and go to either 'System', or 'About Phone'. The name will differ based on your device but you're looking for information about your phone.
APK is ZIP. You can open it and check directory lib
to see which architectures are supported. If there is no directory lib
, it supports all architectures.
64-bit Android is backwards compatible and can run 32-bit applications. On the other hand, Intel Android (both 32-bit and 64-bit) has very limited compatibility with ARM Android (a binary translator called libhoudini
is shipped on Intel but from my experience, it works for only very simple code), and ARM Android is completely incompatible with Intel Android. This affects only applications with NDK code in lib
, pure Java applications can be run on both.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With