2014-09-11 70 views
12

成功推送后,jenkins自动构建应用程序,但版本始终为1.0。而不是 “0” 我想插入相应建立詹金斯的数量:1.119,1.120,1.121 ...如何通过Jenkins中的构建数量设置Android应用程序版本?

这是我的build.gradle文件

// Top-level build file where you can add configuration options common to all sub-projects/modules. 

buildscript { 
    repositories { 
     mavenCentral() 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:0.12.2' 
    } 
} 

allprojects { 
    repositories { 
     mavenCentral() 
    } 
} 

build.sh

#!/bin/bash 
gradle clean 
gradle build 
#. run_android_ui_tests.sh 

我的gradle.properities只包含注释。

回答

20

问题由这两个字符串插入的build.gradle的defaultConfig解决:

def env = System.getenv() 
versionName "1." + env['BUILD_NUMBER'] 

,而不是

versionName "1.0" 
1

你必须对你的Manifest或build.gradle进行一些预处理。

来回例如

  1. 1生成步骤是运行一些脚本来粘贴您需要的版本。
  2. 第二个构建步骤是构建您的应用程序。

我建议您获取一个系统值,您可以在每个构建中确定您的系统值,以便您可以在构建配置中自行更改应用程序的版本。

+0

好的,我必须插入什么命令?据我了解,我应该在java中粘贴“gradle.setAppVersion(”1。“+ String.valueOf(getLasJenkinsBuildNumber()+ 1))”。但是这个字符串在bash中看起来如何? – amazingbasil 2014-09-11 10:42:39

+0

你可以在这里找到你需要的例子http://stackoverflow.com/questions/14895123/auto-version-numbering-your-android-app-using-git-and-eclipse例如。或者在这里http://jeffreysambells.com/2013/02/14/build-your-android-apk-with-the-manifest-version-number – dilix 2014-09-11 10:46:15

0

最好的办法将是使用gradle这个版本的插件此。使用这个,你可以在清单文件中自动执行版本恶意版本。你可以有一个look here

你可以用它来标记你的源代码树以及不同的版本。

相关问题