如何使用gradle构建时将提交和分支信息从git插入到apk中?

tse*_*tse 3 git android gradle

我们有很多开发人员和许多设备以及许多新旧版本的apk.有时会发生不良行为.我需要检测设备上安装了什么版本的apk(什么分支,什么最后提交,什么文件从上次提交更改,什么时候apk压缩).

我们使用Gradle从项目中制作apk.

是否有任何方法(指令或插件或脚本)将版本信息放在apk中的某个位置?例如,作为java类中的常量或作为资源中的文本文件.

Eug*_*nov 5

您可以使用下一个代码段:

task gitInfo << {
   ext.revision = getGitRevParseInfo ( "--short" )
   ext.branch = getGitRevParseInfo ( "--abbrev-ref" )

   println ext.revision
   println ext.branch
}

def getGitRevParseInfo (what) {
   def cmd = "git rev-parse " + what + " HEAD"
   def proc = cmd.execute ()
   proc.text.trim ()
}
Run Code Online (Sandbox Code Playgroud)

所以你可以ext用于构建versionNameAndroid应用程序