背景
在 mPaaS 旧版基线中,SDK 使用的动态库(.so
文件)仅支持 armeabi 架构。但部分用户还有对其他 CPU 架构支持的需求,例如使用 armeabi-v7a 架构,或应用上架 Google Play 需支持 arm64-v8a 架构等。
mPaaS 从 10.1.68.21 开始,增加了对 armeabi-v7a、arm64-v8a 架构的支持。如果您的应用需要支持 armeabi 以外的其他架构,请使用 mPaaS 插件 将 SDK 更新到 10.1.68.21 或以上版本 ,并按照下文更新配置和回归相关功能。
如果您的应用不需要支持 armeabi 以外的其他架构,您仍然可以正常更新 SDK 到 10.1.68.21 或以上版本,并且不需要进行其他修改。
更新配置
整体兼容性
- 支持 aar、inside、portal&bundle(组件化)接入方式
- 支持 armeabi, armeabi-v7a, arm64-v8a 架构
- 支持 targetSdkVersion 26 – 29
- 支持 Android 11 系统
在 Google Play 发布
如果您的应用需要在 Google Play 上发布,同时也需要使用 mPaaS 的定位组件或小程序中的地图功能,您需要移除 mPaaS 内置的高德 SDK,并改用高德官方提供的能够通过 Google 审核的版本。参照下文修改:
更新 gradle 配置
aar
更新 gradle 版本,推荐版本为 6.2,最低支持版本 5.0。如最新版本编译失败请使用推荐版本 6.2。
distributionUrl=https\://services.gradle.org/distributions/gradle-6.2-all.zip
inside/portal&bundle
更新 gradle 版本,推荐版本为 6.2,最低支持版本 5.0。如最新版本编译失败请使用推荐版本 6.2。
distributionUrl=https\://services.gradle.org/distributions/gradle-6.2-all.zip
更新 agp 版本:
- 对于 inside,在工程根目录
build.gradle
中修改。 - 对于 portal&bundle,在 portal 工程和所有 bundle 工程根目录
build.gradle
中修改。
classpath 'com.alipay.android:android-gradle-plugin:3.5.14'
classpath 'com.android.tools.build:gradle:3.5.3' // 最低 3.5.0
生成 APK
设置 CPU 架构
- 对于 aar/inside,在工程主 module 的
build.gradle
中设置。 - 对于 portal&bundle,若生成 apk 就在 portal 工程主 module 的
build.gradle
中设置;若生成 bundle 就在 bundle 工程主 modulebuild.gradle
中设置。
按照原生方式设置 abiFilters 即可:
ndk {
abiFilters "armeabi", "armeabi-v7a", "arm64-v8a"
}
编译
无特殊配置,正常编译即可。
回归测试
- 您需要分别对不同架构的 APK 做全量回归测试。
- 回归测试中您需要重点关注以下组件功能(如果使用):
组件 验证项目 移动网关 热修复 - 热修复 是否能够生效。
UC 内核 - H5容器使用UC内核 后,各项功能是否正常。
- 小程序 (必须使用UC内核),各项功能是否正常。
- 小程序打开手机相册、拍照及预览 是否正常。
- 小程序发起http请求 是否成功(如果强制开启了http)。
扫一扫 - 标准 UI 扫码是否成功。
- 标准 UI 打开手机相册、拍照及预览是否正常。
- 自定义 UI 扫码是否成功,如自定义 UI,需要 适配部分新接口。
统一存储 分享 - 分享到新浪微博、QQ 是否成功。
OCR - OCR 识别相关内容是否正常。
音视频 - 音视频通话 功能是否正常。