項目實訓(四)BuildConfig生成當前git commitId

BuildConfig中的常量實際上都是gradle生成的,而且註明了不可修改,包括是否爲DEBUG模式,版本號等一些信息。

現在我們想要在裏面存一個當前的git commitId以供使用,首先找到app對應的gradle文件(不同module有不同對應的BuildConfig,要注意),在android模塊上方定義一個函數:

def getGitSha = { ->
    def stdout = new ByteArrayOutputStream()
    exec {
        commandLine 'sh', '-c', 'git rev-parse --short HEAD'
        standardOutput = stdout
    }
    return stdout.toString().trim()
}

我們就是通過這個函數獲取commitId,可以看到就是執行相應的命令。

然後在android{defaultConfig{里加一行:

        buildConfigField "String", "COMMIT_ID", "\"${getGitSha()}\""

就是這一行生命可以調用函數並將值存到BuildConfig中。第一個參數是類型,第二個是name,第三個是值,這裏是調用的函數。

當時我開始沒有加雙引號和$,直接gitGitSha,發現也能輸出,但是文件中的值是一個不帶雙引號的字符串,就像:COMMIT_ID= dqiuwdh12424   這種,加上就可以了。

接下來就可以在代碼中使用BuildConfig.xxx進行使用了。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章