Android Studio升级Gradle后versionCode与versionName应在哪里配置
问题原因
从Android Gradle Plugin(AGP)3.0.0版本开始,官方已废弃库模块(com.android.library插件对应的模块)中versionCode、versionName属性的支持,升级高版本AGP后,这两个属性会被直接忽略,不会纳入库的构建逻辑。
而应用模块(com.android.application插件对应的模块)的这两个属性是用于定义最终输出APK/AAB的版本标识,属于核心配置,不会被废弃,因此你升级Gradle后只有库模块的对应属性失效。
库模块是否可以定义版本号
可以定义,但不能再使用AGP原生的versionCode、versionName属性,这两个属性本身就是为应用级产物设计的,和库模块的版本管理逻辑不匹配。
库版本号的配置方式
根据你的使用场景选择配置位置即可:
- 仅项目内部复用的本地库:可以在项目根目录的
gradle.properties文件中自定义版本属性,例如custom_lib_version=1.1.0、custom_lib_version_code=11,在库模块代码或者构建逻辑中直接读取对应属性即可使用。 - 需要发布到Maven等仓库的共享库:在
maven-publish插件的发布配置块中定义版本号,该版本号会作为依赖坐标的一部分对外生效,示例配置如下:
publishing { publications { release(MavenPublication) { groupId 'com.example' artifactId 'my_lib' version '1.2.0' // 库的发布版本号 afterEvaluate { from components.release } } } }
内容的提问来源于stack exchange,提问作者CesarPim
相关产品推荐
相关产品推荐

