不同分支/项目开发Android Instant App的版本号冲突问题
问题原因
你的Manifest和依赖配置没有问题,问题出在对版本号规则的理解偏差:
- 同
applicationId的应用在Google Play后台共享全局版本号池,不管是可安装版本、即时应用版本,还是不同业务分支打出的包,只要包名一致,就不能使用已经被上传过的versionCode。你主分支的可安装应用已经使用过versionCode 1,因此即时应用分支不能再使用该值。 - 你对官方规则的适用场景理解有误:官方提及的两个独立项目分别开发可安装应用和即时应用,指的是两个项目使用不同的
applicationId,属于Google Play后台两个完全独立的应用条目,因此版本号互不干扰。你现在使用同一包名的不同分支开发,属于同一个应用的两种分发形式,不适用该规则。
解决方案
- 调整即时应用分支的
versionCode,取值要大于所有已上传的可安装应用的最大versionCode即可正常上传。 - 为了避免后续两个分支版本号冲突,建议给两类应用设置固定的版本号偏移规则,例如可安装应用
versionCode使用1~99999区间,即时应用versionCode统一增加100000的偏移量,从100001开始递增,可完全避免版本号重复问题。 - 额外注意:同一应用下如果同时存在可安装包和即时包,即时包的
versionCode必须高于可安装包,否则用户触发即时体验时会优先拉起低版本的可安装包,不符合预期。
内容的提问来源于stack exchange,提问作者L3n95
相关产品推荐
相关产品推荐

