Как установить версию приложения для Android по номеру сборки в Jenkins?

Приложение автоматически создается 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 содержит только комментарии.

Ответ 1

Проблема решена путем вставки этих двух строк в build.gradle defaultConfig:

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

вместо

versionName "1.0"

Ответ 2

Вам нужно выполнить некоторую предварительную обработку вашего манифеста или build.gradle.

Пример Fro

  • Первый шаг сборки - запустить несколько script, чтобы вставить нужную версию.
  • Шаг 2-го построения - это создание приложения.

Я рекомендую вам получить системное значение, которое вы можете определить в каждой вашей сборке, чтобы вы могли самостоятельно изменить версию приложения в конфигурации сборки.

Ответ 3

Лучшим подходом будет использование плагина release gradle для этого. Используя это, вы можете сделать версию версии с произвольной версией в файле манифеста. Вы можете найти здесь

Вы можете использовать его для пометки своего исходного дерева и для разных версий.