Android中動(dòng)態(tài)獲取最新的git commit_id
項(xiàng)目中有時(shí)會(huì)遇到需要我們獲取最新版本號(hào)的邏輯,方便我們定位錯(cuò)誤等绊困。
主要步驟如下:
①在app/build.gradle中使用gradle腳本獲取到最新的commit_id卿吐,并將其寫(xiě)入gradle.properties中此迅。
②將gradle.properties中的屬性賦值給BuildConfig抵碟。
③在運(yùn)行時(shí)即可通過(guò)BuildConfig來(lái)獲取之前寫(xiě)入的commit_id了虫埂。
1、獲取commit_id葱蝗,并將其寫(xiě)入gradle.properties文件中痊剖。
首先,我們現(xiàn)在gradle.properties中定義一個(gè)字段用來(lái)存儲(chǔ)獲取到的commit_id垒玲,如下所示:
# 用來(lái)存儲(chǔ)最新的一次commit_id
GIT_COMMIT_ID=0
然后,在app/build.gradle中定義一個(gè)方法找颓,用于獲取最新的commit_id合愈,代碼如下:
// 獲取當(dāng)前的git的commit_id
def getGitRevision() {
return "git rev-parse --short HEAD".execute().text.trim()
}
接著,將獲取到的commit_id的值賦給GIT_COMMIT_ID即可:
// 給gradle.properties中的GITEST_COMMIT_ID賦值
GIT_COMMIT_ID = getGitRevision()
2、將commit_id的值賦給BuildConfig
在buildType中添加配置:
// Java代碼調(diào)用
buildConfigField "String", "gitCommitId", "\"${GIT_COMMIT_ID}\""
如上所示佛析,這里益老,我將GIT_COMMIT_ID的值賦值給了BuildConfig中的latestCommitId字段。
3寸莫、通過(guò)BuildConfig獲取commit_id即可
private String getGitRevision(){
return BuildConfig.gitCommitId;
}
完整項(xiàng)目請(qǐng)看:
https://github.com/tinyvampirepudge/GradleDemo