簡體   English   中英

Android:僅在 Gradle 中的 Release BuildType 上自動遞增版本代碼

[英]Android: Auto Increment version code only on Release BuildType in Gradle

我已閱讀此主題: Autoincrement VersionCode with gradle extra properties

但它似乎增加了每次構建的versionCode (如果經常運行調試版本,則會增加很多)。

有沒有辦法調整答案,以便VersionCode僅在我在Android Studio構建發布簽名版本時增加?

對於此解決方案,需要一個文件 version.properties。

在 build.gradle 中:

def getVersionCode() {
    def propertiesFile = file('version.properties')

    if (!propertiesFile.canRead()) {
        throw new GradleException("Could not read " + propertiesFile.name)
    }

    Properties properties = new Properties()
    properties.load(new FileInputStream(propertiesFile))

    def code = properties['VERSION_CODE_PROD'].toInteger()

    gradle.taskGraph.whenReady { tasksGraph ->
        List<Task> tasks = tasksGraph.getAllTasks()

        for (Task task : tasks) {
            if (task.name.contains("Production")) {
                code = code + 1
                properties['VERSION_CODE_PROD'] = code.toString()
                properties.store(propertiesFile.newWriter(), null)
                break
            }
        }
    }

    return code
}

android {

    def code = getVersionCode()

    defaultConfig {
        ...
        versionCode code
        ...
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM