下面是我放在build.gradle文件末尾的代码,试图增加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'
}
}
最佳答案
任务在执行后应该做的所有事情都需要执行任务 Action 。使用doLast { /* code goes here */ }
添加了一个任务 Action 。任务操作外部的代码配置任务,并在“解析”构建脚本的过程中在每次构建调用上运行。