2014-09-11 42 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

你可以用它來標記你的源代碼樹以及不同的版本。

相關問題