Azure Pipeline 自动化配置Android Version Code版本号过低问题问询
可选方案优先级推荐
1. 直接使用timestamp配置(首选)
你找到的versionCodeOption: 'timestamp'是目前最简便的无维护成本方案:
- 秒级Unix时间戳生成的数值当前约为10位,远大于5034,未来几十年都不会出现数值回落的问题,天然满足应用市场要求versionCode单调递增的规则
- 不需要额外定义变量、不需要手动调整任何配置,直接替换原有
versionCodeOption的值即可使用 - 注意:如果单日发版频率超过1次,确认插件是否使用毫秒级时间戳,毫秒级时间戳完全不会出现同版本号冲突问题
2. 前缀拼接自动修订号方案
你之前想到的变量前缀加$(Rev:r)的方案适合需要版本号携带业务标识的场景:
- 只要将
versionCodePrefix设置为拼接后数值大于5034的值即可,比如你设置的600拼接第一位修订号得到6001,符合要求 - 后续大版本迭代可以直接调整前缀数值,
$(Rev:r)是Azure DevOps自带的同前缀下自动递增的修订号,不需要人工维护 - 注意:
$(Rev:r)的位数会随构建次数增加自动变长,拼接后的版本号仍会保持单调递增,不会出现版本号回落问题
3. 调整Build ID起始值
如果要继续沿用原有buildid作为版本号的逻辑,不需要改构建脚本,直接在Azure DevOps管道设置中修改Build ID的起始值为大于5034的数值即可,后续Build ID会自动递增,也是零代码修改的解决方案
落地校验建议
首次使用新规则构建完成后,务必拆开APK检查AndroidManifest.xml中的versionCode值,确认确实大于已发布的5034后再提交应用市场,避免出现上传失败的问题。
内容的提问来源于stack exchange,提问作者Jammer
相关产品推荐
相关产品推荐

