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

Как получить номер сборки Jenkins в java-файле / коде Android, потому что jenkins будет генерировать номер сборки после каждой сборки, а приложение Android должно динамически фиксировать номер сборки jenkins из jenkins.

Я проделал то же самое в файле Build.gradle

def BUILD_NUMBER = System.getenv("BUILD_NUMBER") ? System.getenv("BUILD_NUMBER") : "0"
def PversCode = "90$BUILD_NUMBER"
print ("VersionCode is....." + "90$BUILD_NUMBER")
versionCode PversCode as Integer
def PversName = "9.0.$BUILD_NUMBER"
versionName PversName as String
print ("VersionName is....." + "9.0.$BUILD_NUMBER")

Но как это сделать с помощью java-кода?

Вы хотите использовать этот номер в проекте Android или просто хотите его прочитать?

Sagar 19.04.2018 15:18

Я хочу получить номер сборки от jenkins и использовать / назначить его в своем приложении.

Sandeep 19.04.2018 15:20
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
2
1 375
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Это проект maven?

Дженкинс устанавливает некоторые переменные среды, которые вы можете прочитать: https://wiki.jenkins.io/display/JENKINS/Building+a+software+project

Дополнительно можно попробовать что-то вроде этого: mvn clean install -Dbuild.number=${BUILD_NUMBER}. Где build.number - это ваша собственность в вашем pom. Конечно, вы можете впоследствии записать этот номер сборки в свой манифест и получить к нему доступ из Java-кода.

Это проект для Android, поэтому я хочу получить номер сборки jenkin от jenkin в моем приложении для Android.

Sandeep 19.04.2018 15:37

Если вы создаете приложение для Android с помощью maven, вы можете получить номер сборки внутри вашего pom и записать его в файл манифеста. Приложение может читать этот файл. Если вы хотите использовать gradle, в gradle также можно прочитать переменную среды BUILD_NUMBER. Примерно так: ext.buildNumber = System.getenv ("BUILD_NUMBER")?: "Dev"

kedenk 19.04.2018 17:16

Вам нужно передать BuildNumber от Jenkins в BuildConfig.java В вашем приложении build.gradle:

android {
...
    defaultConfig {
        buildConfigField "long", "BUILD_NUMBER", "$BUILD_NUMBER"
        ....
    }
}

В вашем проекте build.gradle:

buildscript {
    ext{
        BUILD_NUMBER = 7
    }
    ....
}

Наконец, когда вы запускаете сборку, вы можете сделать в jenkins следующие действия:

gradlew assembleDebup -PBUILD_NUMBER=$BUILD_NUMBER

Всякий раз, когда вы хотите получить доступ к этому значению в своем коде, вы можете сделать следующее:

long jenkinsBuildNumber = BuildConfig.BUILD_NUMBER;

Используемый мной хромированный андроид не имеет Build.gradle, вместо этого у него есть файл Build.gn.

Sandeep 19.04.2018 17:41

Другие вопросы по теме