Android 具有gradle额外属性的Autoincrement VersionCode不适用于Azure Git管道
我正在使用属性文件通过build.gradle自动生成版本号。 在Azure Devops上执行assembleRelease后,不会将对属性文件的更改推送到Git存储库中Android 具有gradle额外属性的Autoincrement VersionCode不适用于Azure Git管道,android,git,azure,devops,pipeline,Android,Git,Azure,Devops,Pipeline,我正在使用属性文件通过build.gradle自动生成版本号。 在Azure Devops上执行assembleRelease后,不会将对属性文件的更改推送到Git存储库中 private Integer generateBuildNum() { File buildNumPropsFile = file('../app/src/main/assets/buildnum.properties') if (buildNumPropsFile.canRead()) {
private Integer generateBuildNum() {
File buildNumPropsFile = file('../app/src/main/assets/buildnum.properties')
if (buildNumPropsFile.canRead()) {
Properties buildNumProps = new Properties()
buildNumProps.load(new FileInputStream(buildNumPropsFile))
return buildNumProps['VERSION_BUILD'].toInteger()
}
else {
throw new GradleException("Could not read buildnum.properties!")
}
return null
}
当apk构建在本地计算机上而不是Azure管道上时,属性文件正在工作。如何在Git回购上更新它
private void increaseBuildNum() {
gradle.taskGraph.whenReady { taskGraph ->
println taskGraph.hasTask(assembleRelease)
if (taskGraph.hasTask(assembleRelease)) {
/* when run release task */
File buildNumPropsFile = file('../app/src/main/assets/buildnum.properties')
if (buildNumPropsFile.canRead()) {
Properties buildNumProps = new Properties()
buildNumProps.load(new FileInputStream(buildNumPropsFile))
def build = buildNumProps['VERSION_BUILD'].toInteger() + 1
if(build != null) {
println "*********increaseBuildNum build: "+build
}
buildNumProps['VERSION_BUILD'] = build.toString()
buildNumProps.store(buildNumPropsFile.newWriter(), null)
def buildUpdated = buildNumProps['VERSION_BUILD'].toInteger()
} else {
throw new GradleException("Could not read buildnum.properties!")
}
}
}
}
android {
compileSdkVersion 28
buildToolsVersion "28.0.0"
defaultConfig {
.....
increaseBuildNum()
}