解决org.jetbrains.kotlin.android Gradle插件兼容性冲突问题
问题原因
你同时通过项目级build.gradle的buildscript classpath和app模块build.gradle的plugins块引入了Kotlin Android插件,两种方式的版本声明冲突导致Gradle无法确定使用哪个版本,从而抛出兼容性检查错误。另外,项目级build.gradle里还重复声明了Google Services插件的classpath依赖,属于冗余代码。
解决方案
推荐使用Plugins DSL(现代Gradle规范)统一管理插件,具体步骤如下:
步骤1:修改项目级build.gradle
将原有的buildscript结构替换为Plugins DSL形式,统一声明所有插件的版本并设置apply false(表示不在根项目应用,仅允许子模块引用):
plugins { id 'com.android.application' version '8.0.1' apply false id 'org.jetbrains.kotlin.android' version '1.8.20' apply false id 'com.google.gms.google-services' version '4.3.15' apply false } task clean(type: Delete) { delete rootProject.buildDir }
步骤2:修改app模块build.gradle
移除Kotlin插件的版本号(版本已在项目级统一声明):
plugins { id 'com.android.application' id 'com.google.gms.google-services' id 'org.jetbrains.kotlin.android' // 移除原有的version "1.8.20" } // 其余android{}、dependencies{}代码保持不变
备选方案(保留传统buildscript方式)
如果你偏好旧版Gradle配置方式,可按以下步骤修改:
- 清理项目级build.gradle的冗余依赖
删除重复的com.google.gms:google-services依赖:
buildscript { ext.kotlin_version = '1.8.20' repositories { google() mavenCentral() } dependencies { classpath 'com.google.gms:google-services:4.3.15' // 仅保留一次 classpath "com.android.tools.build:gradle:8.0.1" classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } task clean(type: Delete) { delete rootProject.buildDir }
- 修改app模块build.gradle
移除Kotlin插件的版本号:
plugins { id 'com.android.application' id 'com.google.gms.google-services' id 'org.jetbrains.kotlin.android' // 移除原有的version "1.8.20" } // 其余代码保持不变
内容的提问来源于stack exchange,提问作者m.7.ar
相关产品推荐
相关产品推荐

