下面是我在build.gradle文件末尾放置的代码,试图为staging release build增加versionCode。但是,当我运行./gradlew assembleDebug
时,versionCode也会增加..我做错了什么?
task('increaseVersionCode') {
def manifestFile = file("src/main/AndroidManifest.xml")
def pattern = Pattern.compile("versionCode=\"(\\d+)\"")
def manifestText = manifestFile.getText()
def matcher = pattern.matcher(manifestText)
matcher.find()
def versionCode = Integer.parseInt(matcher.group(1))
def manifestContent = matcher.replaceAll("versionCode=\"" + ++versionCode + "\"")
manifestFile.write(manifestContent)
}
tasks.whenTaskAdded { task ->
if (task.name == 'generateStagingReleaseBuildConfig') {
println "Task Name [$task.name]"
task.dependsOn 'increaseVersionCode'
}
}
答案 0 :(得分:0)
执行任务时应执行的所有操作都需要进入任务操作。 doLast { /* code goes here */ }
添加了一项任务操作。任务操作之外的代码配置任务,并在每次构建调用时运行,作为"解析"的一部分。构建脚本。