如何在Android java文件/代码中获取Jenkins内部版本号,因为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代码呢?
答案 0 :(得分:1)
这是一个maven项目吗?
Jenkins设置了一些你可以阅读的环境变量: https://wiki.jenkins.io/display/JENKINS/Building+a+software+project
此外,您可以尝试这样的事情:
mvn clean install -Dbuild.number=${BUILD_NUMBER}
。 build.number是你的pom中的财产。当然,您可以在此之后编写此内部版本号以显示并从Java代码访问它。
答案 1 :(得分:0)
您需要将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;