搜文章
推荐 原创 视频 Java开发 iOS开发 前端开发 JavaScript开发 Android开发 PHP开发 数据库 开发工具 Python开发 Kotlin开发 Ruby开发 .NET开发 服务器运维 开放平台 架构师 大数据 云计算 人工智能 开发语言 其它开发
Lambda在线 > 伴读小书虫 > 安卓自动构建 每次build时将VersionCode自增1

安卓自动构建 每次build时将VersionCode自增1

伴读小书虫 2018-02-28

预计阅读:3分钟


同事问我,“怎么这么快就进入状态了?完全没有节后综合征”


停下手中的事情一想,还真是,偌大的办公室,几乎都看不到几个人了,即使还是不到晚上十点,只好义正言辞地回答他,“以勤补拙”



言归正传,今天介绍#安卓借助Jenkins自动构建# 时,每次build时将VersionCode自增1的办法


问题:

在GooglePlay或者其它应用商店更新App时,要求VersionCode比旧版本大(VersionCode是int值),同样,测试人员在测试时,如果VersionCode不变的话也会出现无法安装的问题


方案:

  1. 每次release之前手动修改VersionCode

  2. 服务器build时自动+1


我们当然要选择自动化方案


核心逻辑概要:分以下三步:

  1. 将VersionCode加1

  2. gradlew assembleRelease

  3. git commit and push


想要VersionCode + 1,方案其实有好几种:

  1. 直接修改app的build.gradle文件内的versionCode——缺点:每次修改后都会触发gradle的Sync提示

  2. 用中间文件,gradle解析时读取中间文件、自动构建时也读取该文件,实现方案有两种

    1. 直接写入一个普通文件(如txt、Java文件)——缺点:Java文件置于工程中会占用额外空间,其它文件的解析需要在build.gradle中添加逻辑

    2. 拓展项目的gradle变量域(我们的选择)


show you the code:


在工程中添加如下文件:

安卓自动构建 每次build时将VersionCode自增1

关键代码:

安卓自动构建 每次build时将VersionCode自增1


工程build.gradle文件头部添加依赖:

安卓自动构建 每次build时将VersionCode自增1


项目build.gradle文件直接按照下列方式引用:

安卓自动构建 每次build时将VersionCode自增1


shell 脚本中对versionCode的修改函数:

安卓自动构建 每次build时将VersionCode自增1

git commit and push 的函数:

安卓自动构建 每次build时将VersionCode自增1


具体调用:


至此,Jenkins在自动构建时,每次都会产生一个对Versioncode的修改提交:


展开的细节比较多,写了一个大概,对细节感兴趣的读者请留言


拓展知识:

shell基础:https://github.com/qinjx/30min_guides/blob/master/shell.md

Jenkins自动构建:https://www.jianshu.com/p/dceaa1c7bb49

版权声明:本站内容全部来自于腾讯微信公众号,属第三方自助推荐收录。《安卓自动构建 每次build时将VersionCode自增1》的版权归原作者「程序之炼」所有,文章言论观点不代表Lambda在线的观点, Lambda在线不承担任何法律责任。如需删除可联系QQ:516101458

文章来源: 阅读原文

相关阅读