Set Android versionCode after Gradle task completes

人走茶凉 提交于 2019-12-08 08:51:29

How to configure versionCode before a task is launched

You can use the DSL tasks.whenTaskAdded. You can read the official doc, chapter 58.6.2. Task creation.

You can receive a notification immediately after a task is added to a project. This can be used to set some default values or add behaviour before the task is made available in the build file.

You can define a task:

task incrementVersionCode << {
    //do something
}

Then define the dependency :

tasks.whenTaskAdded { task ->
    if (task.name == 'xxxxx') {
        task.dependsOn incrementVersionCode 
    }
}

In your case you can do somenthing like this:

tasks.whenTaskAdded { task ->
    if (task.name == 'generateReleaseBuildConfig' || task.name == 'generateDebugBuildConfig') {
        task.dependsOn 'increaseVersionCode'
    }
}

How to configure versionCode with a function

In the top-level file you can configure a function like this:

ext {

     buildVersionCode = {
       //...
    }
}

In your module/build.gradle you can do somehing like this:

defaultConfig {
    versionCode buildVersionCode()
    //....
}

Otherwise you can do in your build.gradle something like:

defaultConfig {
    //...
    versionCode getMyNumber()
}


def getMyNumber() {
    return //.... ;
} 
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!