Android App Bundle(AAB)是否为所有架构提供统一versionCode?
关于AAB拆分APK的versionCode问题解答
结论:Google Play 从AAB自动生成的各拆分APK不存在唯一的versionCode,不同维度的拆分APK会对应不同的versionCode值。
- 你此前上传APK时Google Play自动追加架构前缀的规则,在上传AAB场景下完全沿用:你在Manifest中定义的基础
versionCode,会被Play Console根据拆分维度(ABI架构、屏幕密度、语言等)拼接专属前缀,生成不同的最终versionCode,和你提到的示例逻辑一致,比如基础versionCode为46时,Arm32架构对应200046、x86_64架构对应500046。 - 你观测到的设备上报
versionCode统一,是因为单台设备只会下载匹配自身硬件/系统特征的拆分APK,上报的是当前设备安装的这个拆分APK的专属versionCode,不同架构、不同配置的设备上报的数值本身存在差异,并非所有拆分APK共用同一个versionCode。 - 你当前的版本号迭代逻辑是完全正确的:每次发版前取已发布的所有版本中最高的
versionCode加1作为AAB的基础versionCode,可以完全避免版本号冲突,满足Google Play的上传要求。 - 你可自行验证规则:进入Google Play Console的「应用 bundle 资源管理器」,选中对应版本的AAB包,查看各拆分APK的详情,就能直观看到每个拆分APK对应的不同
versionCode。
内容的提问来源于stack exchange,提问作者Richard Aplin
相关产品推荐
相关产品推荐

