使用buildSrc的Android多模块项目Gradle插件版本冲突问题咨询
问题原因及解决说明
核心原因
- buildSrc预编译特性引发版本冲突:buildSrc是Gradle的预编译脚本插件模块,它的构建流程优先于主项目执行。如果你的buildSrc中已经依赖了某一版本的Kotlin,这个版本会自动成为主项目Kotlin插件的默认版本。当你在项目级
build.gradle.kts中显式指定org.jetbrains.kotlin.jvm的版本时,若该版本与buildSrc使用的Kotlin版本不一致,就会触发版本冲突。 - AGP绑定Kotlin版本的机制:Android Gradle Plugin(AGP)本身与特定版本的Kotlin插件绑定。当你不指定Kotlin插件版本时,Gradle会自动采用AGP推荐的兼容版本;一旦显式指定版本,若该版本不在AGP的兼容范围内,就会出现冲突错误。
相关文档要点
- Gradle官方文档关于buildSrc的说明:buildSrc作为项目内的预编译脚本插件,其依赖的工具链版本(如Kotlin)会影响主项目的插件版本解析逻辑,建议保持buildSrc与主项目的Kotlin版本一致。
- AGP官方文档的版本兼容性部分:每个AGP版本都对应明确的Kotlin版本兼容范围,显式指定Kotlin版本时必须落在该范围内,否则会引发版本冲突。
内容的提问来源于stack exchange,提问作者Pawan Acharya
相关产品推荐
相关产品推荐

