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。 大功告成,你去试一试吧