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编译的版本号的更多相关文章

  1. android如何获取手机型号和版本号

    public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView ...

  2. Android studio 获取每次编译apk时的日期

    项目中需要获取apk的编译日期,首先肯定是用手动的方式获取,但这样容易遗忘,怎么样通过代码的方式获取呢? 其实android 为我们提供了一个BuildConfig的类,android 每次编译的时候 ...

  3. Git学习-->关于Jenkins编译时候,如何获取Git分支的当前分支名?

    一.背景 因为代码都迁移到了Gitlab,所以Jenkins编译的时候我们都需要将之前的SVN信息换成现在的Git信息.最近编译一个Lib库的时候,因为团队规定上传Release版本的AAR到Mave ...

  4. android 获取应用的当前版本号&获取当前android系统的版本号

    (转自:http://www.cnblogs.com/qsl568/archive/2012/03/14/2395636.html) 获取当前应用的版本号: private String getVer ...

  5. Jenkins进阶系列之——15Maven获取Jenkins的Subversion的版本号

    各位小伙伴们在工作中总是会碰到各种各样的奇葩需求,今天给大家说说Maven怎么在Jenkins中获取Subversion的版本号. Jenkins自己的环境变量中包含了很多有用的的参数,详情查看:ht ...

  6. Android 获取当前应用的版本号和当前系统的版本号

    1.获取当前程序版本名 我们可以在AndroidManifest.xml中设置程序的版本号等,如android:versionName="1.0",那如果想在代码中获取这个版本号呢 ...

  7. Android系统信息获取

    在Android中可以通过android.os.Build这个类和System.getProperty(“xxx”);来获取设备信息,下面列举的常见设备信息摘自Android群英传 Build.BOA ...

  8. android 中获取视频文件的缩略图(非原创)

    在android中获取视频文件的缩略图有三种方法: 1.从媒体库中查询 2. android 2.2以后使用ThumbnailUtils类获取 3.调用jni文件,实现MediaMetadataRet ...

  9. 转: android apk 防止反编译技术(1~5连载)

    转: android apk 防止反编译技术 做android framework方面的工作将近三年的时间了,现在公司让做一下android apk安全方面的研究,于是最近就在网上找大量的资料来学习. ...

随机推荐

  1. c# DataTable 数据集处理DataTableHandler

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  2. HTML中Div、span、label标签的区别

    div与span 大家在初学div+css布局时,有很多困惑,在div与span的使用过程没觉得有一定的”章法”,觉得两个区别不大,在w3c的关于div和span的定义:div作为分割文档结构自然使它 ...

  3. 密钥库文件格式[keystore]代码

    密钥库文件格式[keystore]代码 格式    :     JKS 扩展名  :      .jks/.ks 描述    :     [Java Keystore]密钥库的Java实现版本,pro ...

  4. ubuntu下erlang man的安装

    下载 http://www.erlang.org/download/otp_doc_man_17.1.tar.gz 找到erlang 安装目录 解压 otp_doc_man_17.1.tar.gz s ...

  5. PHP 关于empty和isset对于参数的判断结果

    <?php class test{} $a1 = null; $a2 = ""; //$a3 = $a4 = 0; $a5 = '0'; $a6 = false; $a7 = ...

  6. Spring配置--tx事务配置方式

    前段时间对Spring的事务配置做了比较深入的研究,在此之间对Spring的事务配置虽说也配置过,但是一直没有一个清楚的认识.通过这次的学习发觉Spring的事务配置只要把思路理清,还是比较好掌握的. ...

  7. BZOJ3887 [Usaco2015 Jan] Grass Cownoisseur 【tarjan】【DP】*

    BZOJ3887 [Usaco2015 Jan] Grass Cownoisseur Description In an effort to better manage the grazing pat ...

  8. C#中 this关键字 四种用法

    /// <summary> /// 主程序入口 /// </summary> /// <param name="args"></param ...

  9. CnetOS7使用yum方式安装nginx

    之前一直使用源码包安装,但是对于需要一直进行重新安装的测试环境来说安装起来还是过于麻烦了.今天搜索发现能够进行yum方式的安装,特此记录. 新建yum文件,yum源是nginx的官网. # vim / ...

  10. E519: Option not supported: fileencodings

    怒转,来自http://blog.chinaunix.net/uid-10671107-id-2943841.html,感谢分享. vim中文乱码,原来是编译就除了问题,看来还不一定是不是坑爹的red ...