通过Gradle自动生成通过Git提交的version

每个android studio下都有build.gradle文件,这里有工程构建的一些信息:

如果我们要得到一个工程的版本号,我们可以这样来获取:

那我们在build.gradle里,这里默认的函数都可以使用DefaultGroovyMethods,里面有很多有用的方法可以调用,

我们采用

public static java.lang.Process execute(java.lang.String self) throws java.io.IOException { /* compiled code */ }

采用java来实行process

def getGitVersion() {
  return 'git rev-parse --short HEAD'.execute().text.trim()
}

如果我们要把取到的Git提交的version显示到界面上

   defaultConfig {
        minSdkVersion rootProject.ext.minSdkVersion
        targetSdkVersion rootProject.ext.targetSdkVersion
        buildConfigField "String", "GIT_REVISION", "\"${getGitVersion()}\""
"

    }

这样系统会自动生成BuildConfig这个类,类里面就有

  public static final String GIT_REVISION = "0";

这个成员变量,代码可以直接使用

时间: 2024-11-11 19:10:30

通过Gradle自动生成通过Git提交的version的相关文章

基于git和intotify实现的git提交服务器自动更新的功能

基于inotify实现nodejs的提交后自动同步 首先在一台server上使用nodejs+express启动一个服务器,并使用supervisor 支持修改文件后 自动重启的功能 然后在这个工程上添加git仓库的引用(指向同一个服务器的另一个git仓库所对应的位置) 然后在所有人的本地开发环境也从server仓库中clone git 工程,并进行开发. 当提交代码后,使用inotify监控server 的git仓库文件变化. 如果发生变化后,通知线上运行的server 进行一次git pul

自动生成小学生四则运算(皮!)

自动生成小学生四则运算(皮!) coding 地址 https://coding.net/u/smile12231/p/Demo/git a·需求分析 在这个家长希望自己的小孩能够赢在起跑线的社会,通常寻找很多的练习给小学生做,所以我们就来编写一个四则运算的软件,你懂我意思吧!这个软件能够 ①丶根据用户想要的出题量生成题目 ②丶生成的题目包括整数和分数的加减乘除 ③丶能够自动判断答案是否正确并给出此次的正确率 ④丶使用 -n 参数控制生成题目的个数,例如执行下面命令将生成10个题目 b丶功能设计

eclipse使用git提交项目

准备工作: 目的:eclipse使用Git提交本地项目,提交至远程github上 eclipse版本:eclipse4.5  64位 jdk版本:jdk-1.7 64位 项目类型:maven web项目 备注:eclipse高版本自带git插件,而低版本则需自己安装git插件,这里使用eclipse高版本,低版本安装git插件这里不进行介绍. eclipse使用git提交项目有2种方式:一种是git命令窗口,另一种是eclipse自带git插件(跟svn插件一样使用) 一.使用git命令窗口提交

不用copy代码--eclipse使用git提交项目-转

原文地址:http://blog.csdn.net/u014079773/article/details/51595127 准备工作: 目的:eclipse使用git提交本地项目,提交至远程github上 eclipse版本:eclipse4.5  64位 jdk版本:jdk-1.7 64位 项目类型:maven web项目 备注:eclipse高版本自带git插件,而低版本则需自己安装git插件,这里使用eclipse高版本,低版本安装git插件这里不进行介绍. eclipse使用git提交项

最好的 Xcode 自动生成版本号技术

在 bloglovin ,我们使用自动生成版本号来设置Xcode,使当前的版本号为在Git活跃的分支上 的提交数.它一直正常工作着,但我们的技术也不是一帆风顺的. 糟糕的老方法 我们使用的技术是来自一个叫 “Cocoa is my Girlfriend”1 的网友发表的一篇文章,真是个不可 原谅的名字.它工作原理如下: 1. 运行一个脚本拿到Git提交数并把它输出到一个 “infoplistwhatever.h” 文件中.这个文件名称 是什么并不重要. 2. 在Xcode中选择 Target 中

实现一个自动生成小学四则运算题目的命令行程序

Github项目地址:https://github.com/sumilekaedei/Myapp.git 题目:实现一个自动生成小学四则运算题目的命令行程序. 自然数:0, 1, 2, -. 真分数:1/2, 1/3, 2/3, 1/4, 1'1/2, -. 运算符:+, ?, ×, ÷. 括号:(, ). 等号:=. 分隔符:空格(用于四则运算符和等号前后). 算术表达式: e = n | e1 + e2 | e1 ? e2 | e1 × e2 | e1 ÷ e2 | (e), 其中e, e1

Git 提交的正确姿势

Git 提交的正确姿势:Commit message 编写指南 SCOP范围 middleware core config plugin test type范围 Git 每次提交代码,都要写 Commit message(提交说明),否则就不允许提交. $ git commit -m "hello world" 上面代码的-m参数,就是用来指定 commit mesage 的. 如果一行不够,可以只执行git commit,就会跳出文本编译器,让你写多行. $ git commit 基

git提交顺序

整理这个问题的起因: 1.前些天一个晚辈问我关于commit与pull的先后顺序问题 2.今天又与同事争论了一番commit与pull的先后顺序问题 我的建议是: 1.在本地修改与远程代码无冲突的情况下,优先使用:pull->commit->push 2.在本地修改与远程代码有冲突的情况下,优先使用:commit->pull->push 那么我们怎么去确定是否有冲突呢? 一般我们在合作开发一个项目的过程中,都会有分工,有时会两个人同时修改一个类,有时整个类都是你自己在开发. 如果都

API的文档自动生成——基于CDIF的SOA基本能力

当前,作为大部分移动app和云服务后台之间的标准连接方式,REST API已经得到了绝大部分开发者的认可和广泛的应用.近年来,在新兴API经济模式逐渐兴起,许多厂商纷纷将自己的后台业务能力作为REST API开放出来,给更广泛的第三方开发者使用. 但是,管理REST API并非是一件容易的工作.由于缺乏有效的接口数据schema约束,加上设计REST API时resource endpoint的安排,以及发送http请求的方式又都五花八门,REST API开发完成后,大多数情况下API开发者仍然