文章目录
- 一、报错信息
- 二、解决方案
一、报错信息
在 Google Play 中 , 管理并创建内部测试版本 , 上传完毕后 , 检查版本时 , 出现如下错误 ;
代码语言:javascript复制此版本不符合 Google Play 关于提供 64 位版本应用的要求。
以下 APK 或 App Bundle 面向 64 位设备,但只有 32 位原生代码:[1]
请向应用中添加 64 位和 32 位原生代码。使用 Android App Bundle 发布格式可自动确保每种设备架构仅收到所需的原生代码。这样可避免增加应用的总大小。了解详情
二、解决方案
参考文档 :
- Google Play 管理中心帮助文档
- 使用 App Bundle 资源管理器检查应用版本
- 添加或测试 APK 扩展文件
- Play Feature Delivery 概览
- Play Asset Delivery
- 添加或测试 APK 扩展文件
- 准备发布
- 为应用签名
- 支持 64 位架构
参考 https://developer.android.com/distribute/best-practices/develop/64-bit
当前只要在 Google Play 上架 , 如果使用到了 NDK 原生代码 , 那么必须提供
位架构的动态库 ;
在 Module 下的 build.gradle 中 , android | defaultConfig | ndk | abiFilters 层级 , 配置 “armeabi-v7a”, “arm64-v8a” 两个选项 , 其中 “armeabi-v7a” 表示 arm
位的动态库 , “arm64-v8a” 表示 arm
位的动态库 ;
代码语言:javascript复制android {
defaultConfig {
ndk {
abiFilters "armeabi-v7a", "arm64-v8a" /*, "x86" , "x86_64"*/
}
}
}
在国内如果没有 Google Play 上架需求 , 为了减少 APK 包的大小 , 会只打包 “armeabi-v7a” 动态库 ; 这是 APK 瘦身中的一个环节 ;