首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

预计阅读:3分钟

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

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

其实,我是要写公众号

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

问题:

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

方案:

每次release之前手动修改VersionCode

服务器build时自动+1

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

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

将VersionCode加1

gradlew assembleRelease

git commit and push

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

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

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

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

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

show you the code:

在工程中添加如下文件:

关键代码:

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

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

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

git commit and push 的函数:

具体调用:

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

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

拓展知识:

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

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

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180227G1I8M300?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券