Gradle Increment VersionCode for Release Build

时间:2014-11-11 04:23:54

标签: gradle android-gradle build.gradle

下面是我在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'
    }
}

1 个答案:

答案 0 :(得分:0)

执行任务时应执行的所有操作都需要进入任务操作doLast { /* code goes here */ }添加了一项任务操作。任务操作之外的代码配置任务,并在每次构建调用时运行,作为"解析"的一部分。构建脚本。