Android Gradle插件与Kotlin Gradle插件版本不兼容问题咨询
Android Gradle插件与Kotlin Gradle插件版本不兼容的解决方案
核心思路
统一项目中Kotlin Gradle插件的版本,使其满足Android Gradle插件(AGP)要求的1.5.20及以上版本标准,同时确保多模块版本一致避免冲突。
具体步骤
1. 根项目统一声明Kotlin版本
在项目根目录的build.gradle(Groovy DSL)或build.gradle.kts(Kotlin DSL)中,统一管理Kotlin版本,避免各模块单独指定不同版本:
Groovy DSL示例:
buildscript { ext { kotlin_version = "1.5.20" // 可选择AGP兼容的更高版本,如1.6.21、1.7.20等 } dependencies { classpath "com.android.tools.build:gradle:你的AGP版本" classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } }
Kotlin DSL示例:
buildscript { val kotlinVersion by extra("1.5.20") dependencies { classpath("com.android.tools.build:gradle:你的AGP版本") classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion") } }
2. 更新:location模块的依赖配置
打开:location模块下的build.gradle/build.gradle.kts,确保使用根项目统一的Kotlin版本,移除模块内单独指定的旧版本插件依赖:
Groovy DSL示例:
plugins { id 'com.android.library' id 'kotlin-android' } dependencies { // 引用根项目统一的Kotlin标准库版本 implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" }
3. 处理强制依赖冲突(可选)
如果项目中存在第三方依赖强制引入旧版本Kotlin插件的情况,可在根项目的配置中添加版本强制约束:
Groovy DSL示例:
allprojects { configurations.all { resolutionStrategy { force "org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.20" } } }
Kotlin DSL示例:
allprojects { configurations.all { resolutionStrategy.force("org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.20") } }
4. 同步项目
修改完成后,点击Android Studio右上角的Sync Project with Gradle Files按钮,等待同步完成即可。
版本匹配建议
尽量选择Android官方推荐的AGP与Kotlin版本组合,比如:
- AGP 7.0.x → Kotlin 1.5.20+
- AGP 7.1.x → Kotlin 1.6.10+
- AGP 7.2.x → Kotlin 1.7.10+
这样能最大程度避免兼容性问题。
内容的提问来源于stack exchange,提问作者Joeboun Joeboun
相关产品推荐
相关产品推荐

