如何在Google Play Store上传两个配置不同的独立.aab文件?
双AAB适配多API级别实现方案
具体实现步骤
1. 配置Module级build.gradle文件
在安卓项目的模块build.gradle中添加productFlavors配置,不需要修改原有applicationId:
android { flavorDimensions "apiLevel" defaultConfig { applicationId "com.your.original.appid" // 保持原有包名不变 versionName "1.0.0" // 版本名可统一保持一致 baseVersionCode 1 // 填写你的基础版本号 } productFlavors { api19 { dimension "apiLevel" minSdk 19 // 给低API版本包加versionCode偏移,保证永远低于高API版本的包 versionCode baseVersionCode * 10 + 1 } api21 { dimension "apiLevel" minSdk 21 versionCode baseVersionCode * 10 + 2 } } }
2. 分别构建两个独立AAB包
- 适配Android 19+的AAB:在兼容minSdk19的环境(如你的Android Studio本地环境)中,执行构建命令
./gradlew bundleApi19Release,或在Android Studio的Build Variants面板选中api19Release变体后执行构建App Bundle操作。 - 适配Android 21+的AAB:在升级了Gradle7.0的构建机器中,执行构建命令
./gradlew bundleApi21Release,或选中api21Release变体构建。
3. Google Play上传分发规则
将两个签名完全一致的AAB包上传到同一个应用的发布轨道即可,Google Play会自动根据用户设备的API级别分发对应包:API19、20的设备收到api19变体包,API21及以上设备收到api21变体包。
注意事项
- 两个AAB的签名信息必须完全一致,否则无法上传到同一个应用条目下
- 必须保证api21变体的versionCode始终高于api19变体,否则高版本安卓设备会错误收到低适配的安装包
- 本地构建api19变体时,确保RN相关依赖已经做了API19兼容性适配,避免运行崩溃
最优方案说明
由于你明确要求必须使用两个独立AAB文件,上述基于productFlavors的变体构建方案是当前最优解,完全符合Google Play官方多包分发规则,无额外适配成本,也不需要修改原有业务逻辑。
内容的提问来源于stack exchange,提问作者Vishal Naikawadi
相关产品推荐
相关产品推荐

