如何找到apk是32位还是64位

时间:2015-05-20 11:22:56

标签: android apk

鉴于APK,我们如何才能找到它是32位应用程序还是64位应用程序?我观察到一个应用程序无法在64位Android操作系统上运行。我猜它是一个32位应用程序。

2 个答案:

答案 0 :(得分:17)

APK是ZIP。您可以打开它并检查目录lib以查看支持哪些体系结构。如果没有目录lib,则它支持所有体系结构。

64位Android向后兼容,可以运行32位应用程序。另一方面,英特尔Android(32位和64位)与ARM Android的兼容性非常有限(英特尔提供了一个名为libhoudini的二进制翻译器,但根据我的经验,它仅适用于非常简单的代码)和ARM Android完全不兼容英特尔Android。这仅影响lib中具有NDK代码的应用程序,纯Java应用程序可以在两者上运行。

答案 1 :(得分:0)

没有JNI的应用

如果您不使用JNI,则您的APK将不包含任何.so文件。

具有JNI的应用

解压缩APK,例如unzip tensorflow-lite.aar -d tensorflow-lite

查看/jni,并观察其中的目录:

我解压缩的APK / AAR似乎包含所有4个JNI ABI的.so文件。很好,因为我为所有平台构建了tensorflow lite库。

enter image description here