在将 uni-app 项目打包为 Android APK 时,如果遇到提示“不支持 64 位”的问题,通常是因为你的应用没有正确配置 64 位架构支持。自 2019 年 8 月起,Google Play 要求所有新上传的应用必须支持 64 位架构。
以下是解决这个问题的步骤:
1. 检查 DCloud 配置
确保你的 uni-app 项目配置了支持 64 位架构。在 manifest.json 文件中,检查 app-plus 节点下的配置:
"app-plus": {
"android": {
"abiFilters": ["armeabi-v7a", "arm64-v8a"]
}
}
armeabi-v7a:32 位架构
arm64-v8a:64 位架构
确保 arm64-v8a 在 abiFilters 中。
2. 检查使用的原生插件
如果你在 uni-app 中使用了原生插件(如第三方 SDK),请确保这些插件支持 64 位架构。如果插件不支持 64 位,可能会导致打包失败或运行时崩溃。
- 检查插件的官方文档,确认其支持 64 位。
- 如果插件不支持,联系插件开发者更新插件。
3. 重新生成 64 位 so 文件
如果你的项目中包含了自定义的 .so 文件(通常是 C/C++ 编译的动态库),请确保这些 .so 文件支持 64 位架构。
- 使用支持 64 位的编译器重新编译生成
.so 文件。
- 将生成的
arm64-v8a 架构的 .so 文件放入项目的 libs/arm64-v8a 目录中。
4. 更新 HBuilderX
确保你使用的是最新版本的 HBuilderX。旧版本可能不支持最新的 64 位打包要求。
- 打开 HBuilderX,检查是否有更新。
- 如果有更新,升级到最新版本。
5. 重新打包
完成以上检查后,重新进行云打包:
- 在 HBuilderX 中,点击菜单栏的 发行 -> 原生 App-云打包。
- 选择 Android 平台,确保勾选了
arm64-v8a 架构。
- 点击 打包,等待打包完成。
6. 验证 APK 是否支持 64 位
打包完成后,可以使用工具验证 APK 是否支持 64 位架构: