如何根据Jenkins的构建数量设置Android应用程序版本?

时间:2014-09-11 10:20:32

标签: android jenkins gradle android-gradle

应用程序在成功推送后由jenkins自动构建,但版本始终为1.0。而不是“0”我想在jenkins中插入相应构建的数量:1.119,1.120,1.121 ...

那是我的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只包含评论。

4 个答案:

答案 0 :(得分:21)

通过将这两个字符串插入build.gradle的defaultConfig:

解决了问题
def env = System.getenv()
versionName "1." + env['BUILD_NUMBER']

而不是

versionName "1.0"

答案 1 :(得分:1)

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

以示例

  1. 第一个构建步骤是运行一些脚本来粘贴您需要的版本。
  2. 第二个构建步骤是构建您的应用程序。
  3. 我建议您获取可以在每个构建中确定的系统值,以便在构建配置中自行更改应用程序的版本。

答案 2 :(得分:0)

最好的方法是使用gradle release插件。使用此方法,您可以在清单文件中执行自动版本inclement版本。您可以拥有look here

您可以使用它来标记源树以及不同版本。

答案 3 :(得分:0)

build.gradle的配置应为

defaultConfig {
    ...

    versionName System.getenv("APP_VERSION") as String ?: "3.0.0 (Default)"

    ...
}

Jenkins Configuration for parse the build parameter