一获诈、自定義versionName和versionCode等
目標(biāo):打包時(shí)輸入versionName和versionCode并成功輸出apk文件
前提:可以正常打包apk文件朋腋,未配置好的可以參考本地Jenkins+SVN/Git打包Android輸出apk文件
目標(biāo)效果如下:
效果圖
原理:build.gradle(app)文件中的參數(shù)使用gradle.properties文件中定義的字段霎苗,Jenkins打包時(shí)替換gradle.properties中的值
1.在gradle.properties文件中新增打包的字段卦羡,這里的值會(huì)在打包時(shí)被Jenkins替換掉功氨。VERSION_CODE為 -1 是為了判斷使用用戶設(shè)置的還是使用默認(rèn)的宫患。
新增打包時(shí)的字段
2.修改build.gradle(app)文件中的參數(shù)使用gradle.properties新增字段刊懈,如需自定義api、包名等都類似的修改gradle.properties和build.gradle(app)兩個(gè)文件
修改gradle文件
def createVersionCode() {
int version_code = Integer.parseInt(project.VERSION_CODE)
if (version_code < 1) {
return 200000 + getSvnRevision()
} else {
return version_code
}
}
// getSvnRevision()是通過插件獲取的svn號(hào)
def getSvnRevision() {
ISVNOptions options = SVNWCUtil.createDefaultOptions(true)
SVNClientManager clientManager = SVNClientManager.newInstance(options)
SVNStatusClient statusClient = clientManager.getStatusClient()
SVNStatus status = statusClient.doStatus(projectDir, false)
SVNRevision revision = status.getCommittedRevision()
return revision.getNumber()
}
到此項(xiàng)目中的配置已經(jīng)完成娃闲,接下來配置Jenkins
3.登錄Jenkins配置
到需要的項(xiàng)目中點(diǎn)擊配置
配置
->在General中的“參數(shù)化構(gòu)建”添加“字符參數(shù)”
添加字符參數(shù)
參數(shù)名和值
->配置好后點(diǎn)擊保存即可
4.打包
點(diǎn)擊Build with Parameters 打包即可
打包
打包成功后就可以看到結(jié)果了
打包結(jié)果
參考文章
1.使用Jenkins進(jìn)行Android自動(dòng)打包虚汛,自定義版本號(hào)等信息【轉(zhuǎn)】