如何在Android代码/Java文件中动态获取Jenkins构建编号?
在Android Java代码中获取Jenkins构建编号
嘿,看你已经在Gradle里搞定了Jenkins构建号的读取逻辑,接下来要把这个值传到Java代码里其实很简单,用Android自带的BuildConfig类就能轻松实现,我给你捋清楚步骤:
1. 在Build.gradle中生成BuildConfig字段
你已经定义了BUILD_NUMBER变量,现在只需要在android.defaultConfig里添加buildConfigField,把这个构建号写入自动生成的BuildConfig类中:
android { defaultConfig { // 保留你原本的版本号配置 def BUILD_NUMBER = System.getenv("BUILD_NUMBER") ?: "0" def PversCode = "90$BUILD_NUMBER" as Integer versionCode PversCode versionName "9.0.$BUILD_NUMBER" // 新增这一行:将Jenkins构建号存入BuildConfig buildConfigField "String", "JENKINS_BUILD_NUMBER", "\"$BUILD_NUMBER\"" } }
注意:字符串类型的参数需要用转义双引号
\"包裹,不然Gradle会报错哦。
2. 在Java代码中直接引用
同步Gradle项目(点击Android Studio右上角的「Sync Now」)之后,BuildConfig类会自动更新,你就能在任意Java/Kotlin代码里直接调用这个常量了:
// 在你的Activity、Fragment或者工具类中 String jenkinsBuildNum = BuildConfig.JENKINS_BUILD_NUMBER; // 示例:把构建号显示在界面上 TextView buildNumTv = findViewById(R.id.tv_build_number); buildNumTv.setText("当前Jenkins构建号:" + jenkinsBuildNum);
额外小提示
- 如果你的项目有多渠道(productFlavors)配置,可以根据需求把
buildConfigField写在对应的flavor里,或者保持在defaultConfig让所有渠道共用; - 当本地调试没有Jenkins环境时,
BUILD_NUMBER会默认取"0",和你原本的逻辑保持一致; - 要是修改了Gradle配置后找不到BuildConfig,记得先Clean Project再Rebuild一次。
内容的提问来源于stack exchange,提问作者Sandeep
相关产品推荐
相关产品推荐

