Android中动态获取最新的git commit_id

简介: 项目中有时会遇到需要我们获取最新版本号的逻辑,方便我们定位错误等。

Android中动态获取最新的git commit_id

项目中有时会遇到需要我们获取最新版本号的逻辑,方便我们定位错误等。

主要步骤如下:
①在app/build.gradle中使用gradle脚本获取到最新的commit_id,并将其写入gradle.properties中。
②将gradle.properties中的属性赋值给BuildConfig。
③在运行时即可通过BuildConfig来获取之前写入的commit_id了。

1、获取commit_id,并将其写入gradle.properties文件中。

首先,我们现在gradle.properties中定义一个字段用来存储获取到的commit_id,如下所示:

# 用来存储最新的一次commit_id
GIT_COMMIT_ID=0

然后,在app/build.gradle中定义一个方法,用于获取最新的commit_id,代码如下:

// 获取当前的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代码调用
buildConfigField "String", "gitCommitId", "\"${GIT_COMMIT_ID}\""

如上所示,这里,我将GIT_COMMIT_ID的值赋值给了BuildConfig中的latestCommitId字段。

3、通过BuildConfig获取commit_id即可

private String getGitRevision(){
    return BuildConfig.gitCommitId;
}

完整项目请看:
https://github.com/tinyvampirepudge/GradleDemo

参考:
Android studio项目中的gradle.properties详解

相关文章
|
7月前
|
安全 开发工具 Android开发
【Android Git】Git版本回退方式
在实际操作中,选择合适的版本回退方式,可以有效地管理代码版本,提高开发效率和代码质量。
381 26
|
Java 开发工具 Android开发
Android Studio利用Build.gradle导入Git commit ID、Git Branch、User等版本信息
本文介绍了在Android Studio项目中通过修改`build.gradle`脚本来自动获取并添加Git的commit ID、branch名称和用户信息到BuildConfig类中,从而实现在编译时将这些版本信息加入到APK中的方法。
378 0
|
Android开发
Android中如何动态的调整Dialog的背景深暗
在Android开发中,Dialog和DialogFragment可通过设置`Window`的`backgroundDimAmount`来控制背景变暗,突出对话框。在DialogFragment的`onCreateDialog`或`onViewCreated`中,获取`Dialog`的`Window`,设置`LayoutParams.dimAmount`(例如0.5f)并添加`FLAG_DIM_BEHIND`标志。要动态调整,可保存`LayoutParams`并在需要时更新。对于Dialog,创建时直接设置同样属性。还可以通过定义主题样式设置背景模糊程度。
375 7
|
XML Java Android开发
Android控件动态使用 (转)
Android控件动态使用 (转)
80 1
|
XML Java Android开发
Android RecyclerView用代码动态设置item的selector
Android RecyclerView用代码动态设置item的selector
169 0
|
安全 Android开发 数据安全/隐私保护
Android中的动态权限请求与最佳实践
【4月更文挑战第14天】 在现代安卓应用开发中,用户隐私和安全被赋予了前所未有的重要性。随着Android 6.0(API级别23)引入的运行时权限模型,开发者必须更加细致地处理权限请求,以确保应用功能的完整性同时不侵犯用户的隐私。本文将深入探讨如何在Android应用中实现动态权限请求,分析常见问题,并提供一系列最佳实践,以帮助开发者优雅地处理这一挑战。
638 5
|
测试技术 Android开发 开发者
RK3568 Android系统客制化动态替换ro任意属性
RK3568 Android系统客制化动态替换ro任意属性
703 1
|
Android开发
Android热补丁动态修复实践,腾讯&字节&网易&华为Android面试题分享
Android热补丁动态修复实践,腾讯&字节&网易&华为Android面试题分享
|
XML Android开发 数据格式
android 9 Systemui 动态隐藏导航栏
android 9 Systemui 动态隐藏导航栏
407 0
|
Android开发
安卓动态申请权限
安卓动态申请权限
146 0

热门文章

最新文章