第一步:
在Project–>app下创建文件version.properties,文件中写入如下代码
//最开始想设置的版本号
VERSION_CODE=10011
第二步:
在build.gradle中与android{}同级的位置,写入如下代码
def getVersionCode() {// 获取版本号
def versionFile = file('version.properties')// 读取第一步新建的文件
if (versionFile.canRead()) {// 判断文件读取异常
Properties versionProps = new Properties()
versionProps.load(new FileInputStream(versionFile))
def versionCode = versionProps['VERSION_CODE'].toInteger()// 读取文件里面的版本号
def runTasks = gradle.startParameter.taskNames
if (':app:assembleRelease' in runTasks || 'task1' in runTasks || 'task2' in runTasks ) {//仅在assembleRelease任务是增加版本号,其他渠道包在此分别配置
// 版本号自增之后再写入文件(此处是关键,版本号自增+1)
versionProps['VERSION_CODE'] = (++versionCode).toString()
versionProps.store(versionFile.newWriter(), null)
}
return versionCode // 返回自增之后的版本号
} else {
throw new GradleException("Could not find version.properties!")
}
}
android{
......
}
其中:app:assembleRelease 可在下图查看
第三步:
依旧是build.gradle文件中,在设置版本号的加入如下代码(注意书写位置)
android {
......
def currentVersionCode = getVersionCode()
defaultConfig {
......
versionCode currentVersionCode
......
}
}
完成后再去打包,version.properties里面的10011变成了10012,以后每次打包都会自增1,这样就很方便啦。