Android Studio中Gradle无法解析Kotlin Gradle插件如何解决
问题原因
你遇到的变体匹配错误核心来自3个配置错误:
- 版本混乱:Kotlin相关组件同时混用了
1.7.0-RC、1.7.0-RC2两个预览版,不同预览版的属性标识不统一,本身就存在兼容性问题。 - 配置位置错误:Gradle构建插件绝对不能通过
implementation添加到app模块的业务依赖中。kotlin-gradle-plugin、kapt、ksp这类插件是给Gradle构建流程用的工具,不属于应用运行/编译要引入的代码依赖。把这类插件放到app的implementation块中后,Gradle会尝试按Android应用的变体规则(匹配debug构建类型、匹配当前AGP版本)去筛选插件的可用变体,而Gradle插件本身没有这些Android专属变体属性,直接触发你看到的匹配失败报错。 - 重复声明:你已经在根目录的
plugins块声明过相关插件,不需要再手动引入xxx.gradle.plugin的依赖包,属于多余配置。
修复步骤
- 统一所有Kotlin相关组件的版本,弃用存在兼容性问题的RC预览版,使用和AGP 7.2.0完全兼容的正式版
1.7.0。 - 打开app模块的
build.gradle,在dependencies块中删除所有Gradle插件相关的依赖项,也就是以下5条全部移除:
implementation 'org.jetbrains.kotlin.jvm:org.jetbrains.kotlin.jvm.gradle.plugin:1.7.0-RC' implementation 'org.jetbrains.kotlin.kapt:org.jetbrains.kotlin.kapt.gradle.plugin:1.7.0-RC' implementation 'com.google.devtools.ksp:symbol-processing-gradle-plugin:1.7.0-RC-1.0.5' implementation 'org.jetbrains.kotlin.android:org.jetbrains.kotlin.android.gradle.plugin:1.7.0-RC' implementation 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.7.0-RC2'
- 修改根目录
build.gradle的plugins块,统一版本,正确配置如下:
// 根目录build.gradle plugins { id 'com.android.application' version '7.2.0' apply false id 'com.android.library' version '7.2.0' apply false id 'org.jetbrains.kotlin.android' version '1.7.0' apply false id 'org.jetbrains.kotlin.kapt' version '1.7.0' apply false // 如果需要使用KSP,添加对应正式版声明即可 id 'com.google.devtools.ksp' version '1.7.0-1.0.6' apply false }
- 修改app模块
build.gradle的plugins块,需要使用的插件直接声明即可,不需要重复指定版本(版本已经在根目录统一管理):
// app模块build.gradle plugins { id 'com.android.application' id 'org.jetbrains.kotlin.android' // 需要用kapt就添加下面这行 id 'org.jetbrains.kotlin.kapt' // 需要用ksp就添加下面这行 // id 'com.google.devtools.ksp' }
额外注意
你配置里的androidx.test:core-ktx:1.4.0和androidx.test.ext:junit-ktx:1.1.3属于测试依赖,不要放在implementation作用域中,应该移到androidTestImplementation或testImplementation下,避免把不必要的测试库打包进正式APK。
修改完成后同步Gradle即可正常构建。
内容的提问来源于stack exchange,提问作者Faith Heath
相关产品推荐
相关产品推荐

