gpt4 book ai didi

android-manifest - 如何创建 Android Studio 构建脚本以在构建版本中插入 git commit hash?

转载 作者:行者123 更新时间:2023-12-03 17:09:18 25 4
gpt4 key购买 nike

我想在我的 AndroidManifest 中插入最后一次 git 提交的哈希(更具体地说是 versionCode 标签)。

我正在使用带有 Android Studio 的 gradle。

最佳答案

要回答 OQ,请将以下内容添加到应用的 build.gradle 的 android 部分

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

由于 versionCode 是数字,因此将 defaultConfig versionName 更改为
versionName getGitHash()

更好的实现

我对自己项目的实际操作是将值注入(inject)到 BuildConfig 变量中并以这种方式访问​​它。

我在 android 部分使用这些方法:
def getGitHash = { ->
def stdout = new ByteArrayOutputStream()
exec {
commandLine 'git', 'rev-parse', 'HEAD'
standardOutput = stdout
}
return "\"" + stdout.toString().trim() + "\""
}

def getGitBranch = { ->
def stdout = new ByteArrayOutputStream()
exec {
commandLine 'git', 'rev-parse', '--abbrev-ref', 'HEAD'
standardOutput = stdout
}
return "\"" + stdout.toString().trim() + "\""
}

并将其添加到 BuildConfig 部分:
productFlavors {
dev {
...
buildConfigField "String", "GIT_HASH", getGitHash()
buildConfigField "String", "GIT_BRANCH", getGitBranch()
...
}
}

然后在源代码中,比如Application.java
Log.v(LOG_TAG, "git branch=" + BuildConfig.GIT_BRANCH);
Log.v(LOG_TAG, "git commit=" + BuildConfig.GIT_HASH);

关于android-manifest - 如何创建 Android Studio 构建脚本以在构建版本中插入 git commit hash?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19808134/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com