Android 应用获取Jenkins编译的版本号
Android很多应用的版本号最后都带了编译的版本号。比如说V1.0.0.125,后边的125就通常使用每次编译之后build history的号码,它是逐次增加,这样就可以区分每个细分的编译版本号,而不用人为的手动修改编译的版本号。对于软件开发和测试验证很有帮助。
以下就以Jenkins编译为实例,讲述如何让你的android project代码引用到Jenkins 编译之后的版本号.
1. 在build script的同级目录下新建一个文件“version.properties”,里边是版本的组成。${env.BUILD_NUMBER}就是我们编译环境里边的编译版本号。
VersionMajorNo = 1
VersionMinorNo = 0
VersionPatchNo = 0
VersionBuildNo = ${env.BUILD_NUMBER}
VersionFull = ${VersionMajorNo}.${VersionMinorNo}.${VersionPatchNo}.${VersionBuildNo}
2. 既然要在应用里边显示,我们就得在你的应用中,新建一个“Version” class,在需要显示版本号的地方调用它的静态方法就可以显示版本号了,但这里并不是我们想要用到的版本号。
public class Version
{
public static String getFullVersion()
{
return "1.0.0.0"; //这个版本号不是Jenkins编译最终的版本号
}
}
3. 这一步很关键,关系到第一步中得到的版本信息替换到第二步的Java类文件中去。
在Ant build script中,我们首先要加载“version.properties”这个property 文件,所有在Ant build script的顶部我们要加一行加载这个property file的脚本。
<property file="./version.properties"/>
然后我们需要把我们得到的版本信息重新输出到JAVA Version这个类的文件当中,Ant 脚本如下:
<echo file='\com\quest\spotlightexpress\data\Version.java'>
package com.quest.spotlightexpress.data;
public class Version
{
public static String getFullVersion()
{
return "${VersionFull}";
}
}
</echo>
这样我们编译出来的程序就能使用Jenkins编译时的版本号了。 如果我们编译时的版本号${env.BUILD_NUMBER}是125,则在程序里边显示的版本号是 1.0.0.125。 大功告成,你去试一试吧
Android 应用获取Jenkins编译的版本号的更多相关文章
- android如何获取手机型号和版本号
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView ...
- Android studio 获取每次编译apk时的日期
项目中需要获取apk的编译日期,首先肯定是用手动的方式获取,但这样容易遗忘,怎么样通过代码的方式获取呢? 其实android 为我们提供了一个BuildConfig的类,android 每次编译的时候 ...
- Git学习-->关于Jenkins编译时候,如何获取Git分支的当前分支名?
一.背景 因为代码都迁移到了Gitlab,所以Jenkins编译的时候我们都需要将之前的SVN信息换成现在的Git信息.最近编译一个Lib库的时候,因为团队规定上传Release版本的AAR到Mave ...
- android 获取应用的当前版本号&获取当前android系统的版本号
(转自:http://www.cnblogs.com/qsl568/archive/2012/03/14/2395636.html) 获取当前应用的版本号: private String getVer ...
- Jenkins进阶系列之——15Maven获取Jenkins的Subversion的版本号
各位小伙伴们在工作中总是会碰到各种各样的奇葩需求,今天给大家说说Maven怎么在Jenkins中获取Subversion的版本号. Jenkins自己的环境变量中包含了很多有用的的参数,详情查看:ht ...
- Android 获取当前应用的版本号和当前系统的版本号
1.获取当前程序版本名 我们可以在AndroidManifest.xml中设置程序的版本号等,如android:versionName="1.0",那如果想在代码中获取这个版本号呢 ...
- Android系统信息获取
在Android中可以通过android.os.Build这个类和System.getProperty(“xxx”);来获取设备信息,下面列举的常见设备信息摘自Android群英传 Build.BOA ...
- android 中获取视频文件的缩略图(非原创)
在android中获取视频文件的缩略图有三种方法: 1.从媒体库中查询 2. android 2.2以后使用ThumbnailUtils类获取 3.调用jni文件,实现MediaMetadataRet ...
- 转: android apk 防止反编译技术(1~5连载)
转: android apk 防止反编译技术 做android framework方面的工作将近三年的时间了,现在公司让做一下android apk安全方面的研究,于是最近就在网上找大量的资料来学习. ...
随机推荐
- 有关php的session
From:http://blog.csdn.net/sayigood/article/details/4850480 php中session的用法 PHP中的session默认情况下是使用客户端的Co ...
- (转)MapReduce Design Patterns(chapter 4 (part 2))(八)
Binning Pattern Description 分箱模式,跟前面的类似,分类记录且不考虑记录的顺序. Intent 归档数据集中的每条记录到一个或多个类别. Motivation 分箱和分区很 ...
- 《利用Python进行数据分析》笔记---第2章--来自bit.ly的1.usa.gov数据
写在前面的话: 实例中的所有数据都是在GitHub上下载的,打包下载即可. 地址是:http://github.com/pydata/pydata-book 还有一定要说明的: 我使用的是Python ...
- CocoaPods(pod install一直不动)
CocoaPods安装和使用教程 如何在Mac 终端升级ruby版本 RubyGems 镜像 cocoapods无法使用(mac os 10.11升级导致pod: command not found)
- 【示例代码】 Tuple<T> Func<T>
using System; using System.Math; namespace PiWithMonteCarlo { /// <summary> /// Trivial, synch ...
- js学习笔记知识点
AJAX用法安全限制JSONPCORS面向对象编程创建对象构造函数原型继承class继承 AJAX 用法 AJAX不是JavaScript的规范,它只是一个哥们“发明”的缩写:Asynchronous ...
- WebForm、MVC图片加载失败处理
还是那个该死的WebFrom项目,部分功能替换为MVC后感觉好多了,但是WebForm.MVC都有图片加载失败时显示提示图片的需求,并且统一在js中处理.问题来了,js中图片路径怎么处理呢?现场有可能 ...
- ubuntu 下jdk安装配置
下载jdk-8u71-linux-x64.tar.gz 创建jvm文件夹(/usr/lib/jvm) sudo mkdir /usr/lib/jvm 创建jvm文件夹(/usr/lib/jvm) su ...
- 接口测试框架——第一篇-大框架和setting.py常量文件
基础知识已经准备的差不多了,今天开始我们就开始写我们的接口测试框架,框架结构已经说过了: 今天我们先完善需要的常量,也就是setting.py文件中的内容,代码如下: # coding: utf-8 ...
- 接口结构+一个selenium例子
大家今天可以先建一个项目目录,明天我们在码代码: 我看好多朋友都在看selenium方面的东西,在这里给大家一个和讯网自动发文章的selenium代码,有兴趣的朋友可以试试,船长已亲测可用,不明白的地 ...