首页 > 解决方案 > 如何确保 Android APK 支持 32 位和 64 位?

问题描述

如果我的 APK 包含 lib 中的 'armeabi-v7a' 'arm64-v8a' 'x86' 'x86_64' 文件夹,但在该文件夹中,它意味着它同时支持 64 位和 32 位。

因为已经构建的 APk 包含 lib 中的 'armeabi-v7a' 'arm64-v8a' 'x86' 'x86_64' 文件夹。但是 'armeabi-v7a' 和 'x86' 文件夹包含一些 *.so 文件,这些文件在 'arm64-v8a' 和 'x86_64' 中不存在

现在有必要添加 - ndk { abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86' ,'x86_64' }

标签: androidgoogle-play64-bit32-bit

解决方案


要将 32 位转换为 64 位,只需在您的 gradle 文件中添加以下代码,如下所示。

android {
   compileSdkVersion 27
   defaultConfig {
       appId "com.google.example.64bit"
       minSdkVersion 15
       targetSdkVersion 28
       versionCode 1
       versionName "1.0"
      ***ndk.abiFilters 'armeabi-v7a','arm64-v8a','x86','x86_64' //add this line***
}

如果您想查看 apk 是 32 位还是 64 位,请按照以下步骤操作:

打开 Android Studio,然后打开任何项目。从菜单中,选择构建 > 分析 APK。选择您要评估的 APK。

查看 lib 文件夹,您可以在其中找到任何“.so”文件。如果您在应用程序中根本找不到任何“.so”文件,那么您的应用程序已经准备就绪,无需进一步操作。如果您看到 armeabi-v7a 或 x86,那么您有 32 位库。

检查 arm64-v8a 或 x86_64 文件夹中是否有类似的“.so”文件。如果您没有任何 arm64-v8a 或 x86_64 库,则需要更新构建过程以开始在 APK 中构建和打包这些工件。

如果您已经看到这两个库都被打包,您可以直接跳到在 64 位设备上测试您的应用程序。


推荐阅读