You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Gradle脚本中获取Git提交日期并组合提交哈希为版本名

修改Gradle代码生成包含Git提交哈希和日期的VersionName

新增获取Git提交日期的方法,将提交哈希与日期拼接成目标格式,完整修改后的Gradle代码如下:

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

def getCommitDate = { ->
    def stdout = new ByteArrayOutputStream()
    exec {
        // 自定义日期格式,去除月/日的前导零
        commandLine 'git', 'show', '-s', '--format=%cd', '--date=format:'%-m-%-d-%Y'', 'HEAD'
        standardOutput = stdout
    }
    return stdout.toString().trim()
}

def getVersionInfo = { ->
    return "Version: ${getCommitHash()}, Date: ${getCommitDate()}"
}

android {
    defaultConfig {
        versionName getVersionInfo()
    }
}

核心细节:

  • 提交日期的Git命令:git show -s --format=%cd --date=format:'%-m-%-d-%Y' HEAD
    • -s:仅输出提交摘要,避免多余内容
    • %cd:指定输出提交日期字段
    • --date=format:'%-m-%-d-%Y':定义日期格式,%-m和%-d会去掉月份、日期的前导零(例如显示7而非07),%Y为四位年份
  • 两个工具方法通过exec执行Git命令,捕获标准输出并去除首尾空白,保证结果整洁
  • 最终通过getVersionInfo拼接成目标字符串,直接赋值给versionName即可

内容的提问来源于stack exchange,提问作者mohammed_sajid

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 16:20:46