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

如何在Codemagic构建过程中更新环境变量以升级版本号?

在构建过程中更新环境变量以升级版本号的方案

当然可以在构建过程中动态更新环境变量,针对你要上传APK到Firebase前升级版本号的需求,这里给几个实用的落地方案:

  • Gradle脚本动态处理版本号(推荐)
    既然版本号存在环境变量里,你可以在Module级的build.gradle中直接读取、修改版本号,甚至不用单独更新环境变量——直接用修改后的值构建APK就行。如果需要把新的版本号同步回环境变量,也能在流程中处理。
    示例Gradle代码:

    // 读取环境变量中的当前版本号,默认值设为1防止空值
    def currentVersionCode = System.getenv("VERSION_CODE")?.toInteger() ?: 1
    // 这里替换成你需要的版本升级逻辑,比如从Play Store拿到最新号再加1
    def newVersionCode = currentVersionCode + 1
    
    // 如果是在CI/CD里,比如GitHub Actions,可通过下面的方式更新环境变量供后续步骤使用
    // exec { commandLine 'echo', "VERSION_CODE=$newVersionCode", '>>', System.getenv('GITHUB_ENV') }
    
    android {
        defaultConfig {
            versionCode newVersionCode
            versionName "1.0.$newVersionCode" // 对应版本名,可按需调整
        }
    }
    
  • CI/CD流水线提前更新环境变量
    要是你的构建是在GitHub Actions、GitLab CI这类流水线里跑,完全可以在执行构建命令前,用脚本先升级版本号并更新环境变量:
    示例bash脚本:

    # 读取当前环境变量的版本号,没读到就用默认值1
    CURRENT_VERSION=${VERSION_CODE:-1}
    # 版本号自增,或者替换成从Play Store获取最新版本号的逻辑
    NEW_VERSION=$((CURRENT_VERSION + 1))
    # 更新环境变量,让后续构建命令能读到新值
    export VERSION_CODE=$NEW_VERSION
    # 执行APK构建
    ./gradlew assembleRelease
    
  • 几个关键提醒

    • 如果要基于Play Store的最新版本号升级,得确保你的CI/CD服务有权限调用Google Play Developer API,拿到最新号后替换掉自增逻辑就行。
    • 构建过程中更新的环境变量只在当前构建会话里有效,不会改动本地持久化的变量,每次构建都是独立的。

内容的提问来源于stack exchange,提问作者Vadim Zhukov

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 18:35:16