You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 07:00:43