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

升级AGP后,如何为Maven发布的Android库配置versionCode/versionName

解决AGP升级后库模块版本号丢失导致Maven发布失败的问题

核心思路

把版本号从android.defaultConfig中抽离到AGP升级助手不会修改的位置,同时保证在构建配置、Maven发布和应用代码中能统一复用。


方案1:用gradle.properties管理版本号(最健壮)

这个方案完全避开AGP升级助手的修改范围,适合长期维护:

  1. 在项目根目录或库模块目录下的gradle.properties中添加版本配置:
LIB_VERSION_NAME=1.2.3
LIB_VERSION_CODE=4
  1. 在库模块的build.gradle中引用这些值,同步到Android配置和Maven发布配置:
android {
    defaultConfig {
        versionName project.properties["LIB_VERSION_NAME"]
        versionCode project.properties["LIB_VERSION_CODE"] as Integer
    }
}

// 配置maven-publish插件
publishing {
    publications {
        release(MavenPublication) {
            from components.release
            // 直接复用定义好的版本名
            version project.properties["LIB_VERSION_NAME"]
            // 可选:把versionCode写入pom属性,方便下游依赖查看
            pom.properties {
                property("versionCode", project.properties["LIB_VERSION_CODE"])
            }
        }
    }
    repositories {
        mavenLocal()
        // 按需添加其他远程仓库
    }
}

方案2:在build.gradle中定义独立变量

如果不想额外维护gradle.properties,可以把版本号定义在android块外部,AGP升级助手只会修改android.defaultConfig内的内容,不会碰外部变量:

// 定义在android块外,AGP升级不会修改这里
ext {
    libVersionName = "1.2.3"
    libVersionCode = 4
}

android {
    defaultConfig {
        versionName libVersionName
        versionCode libVersionCode
    }
}

publishing {
    publications {
        release(MavenPublication) {
            from components.release
            version libVersionName
        }
    }
}

应用内使用版本号

不管用哪种方案,android.defaultConfig中已经配置了versionName和versionCode,AGP会自动在库的BuildConfig类中生成对应的字段,在应用代码中直接调用即可:

// Java
String libVersion = BuildConfig.VERSION_NAME;
int libVersionCode = BuildConfig.VERSION_CODE;
// Kotlin
val libVersion = BuildConfig.VERSION_NAME
val libVersionCode = BuildConfig.VERSION_CODE

验证发布

执行发布命令时指定库模块名(替换成你的模块名):

./gradlew :your-library-module:publish

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 23:52:37