1. 程式人生 > >Gradle自增版本號,和開發版本——開發記錄

Gradle自增版本號,和開發版本——開發記錄

原因:

接手一個全新的專案,專案使用的技術點很新,熱修復,路由,開發語言kotlin,包括對gradle的使用,都是我之前很少接觸到的技術點。


參考:

參考:自增版本號,自動命名

記錄:自動命名

applicationVariants.all的使用。

你可以applicationVariants.all這個task中新增程式碼進行執行。

思考一下,假設,我想設定一個特定的applicationId給branchTwo和distrib結合的variant,我可以在build.gradle裡面這樣寫:

專案中使用:

android.applicationVariants.all { variant ->
    def newVerName = variant.versionName.replace(".", "_")
    variant.outputs.all {
        outputFileName = "epk_${newVerName}_b${variant.versionCode}_${variant.buildType.name}" +
                //"_${variant.productFlavors[0].name}.apk"
                ".apk"
    }
}

效果:

直接更改run出來的包名。

記錄:自增版本號

def getVersionProps() {
    def versionFile
    versionFile = file('release.properties')

    if (versionFile.exists()) {
        def Properties versionProps = new Properties()
        versionProps.load(new FileInputStream(versionFile))
        println(versionProps.toString())
        return versionProps
    } else {
        throw new GradleException("Could not find ${versionFile.name}!")
    }

 

def versionProps = getVersionProps()
def verCode = versionProps['release.number'].toInteger()
def verName = versionProps['release.name'].toString()
versionCode verCode
versionName verName

效果:

配合 自動更新包名,每次發版本避免手動填寫 內部版本,外部版本。