Gradle构建报错:Kotlin版本不兼容问题求助
解决Kotlin版本不兼容的Gradle构建错误
核心原因
你新增的模块是用Kotlin 1.7.x编译的,但主项目使用的是Kotlin 1.5.31,两者元数据版本不匹配导致构建冲突。
可行解决方案
方案一:统一升级主项目到兼容的Kotlin版本
将主项目的Kotlin版本升级到与模块一致的1.7.x,同时匹配对应的Compose版本(Compose与Kotlin版本强绑定):
- 修改根目录
build.gradle,更新Kotlin版本和对应兼容的Compose版本:
buildscript { ext { kotlinVersion = "1.7.20" // Compose 1.3.0 兼容 Kotlin 1.7.20,可根据需求调整为其他兼容版本 compose_version = '1.3.0' } } plugins { id 'com.android.application' version '7.3.1' apply false id 'com.android.library' version '7.3.1' apply false // 引用定义的kotlinVersion变量,确保版本统一 id 'org.jetbrains.kotlin.android' version "$kotlinVersion" apply false } task clean(type: Delete) { delete rootProject.buildDir }
- 同步Gradle后,检查所有模块的
build.gradle,确保模块中使用的Kotlin插件版本与根项目一致:- 模块内的
plugins块中,org.jetbrains.kotlin.android的版本需和根项目保持相同,或直接引用根项目的kotlinVersion变量。
- 模块内的
方案二:降级模块的Kotlin版本到与主项目一致
如果不想升级主项目,可修改新增模块的配置,将其Kotlin版本降到1.5.31:
- 打开新增模块的
build.gradle文件,修改Kotlin插件版本:
plugins { id 'com.android.library' // 或 com.android.application,根据模块类型调整 id 'org.jetbrains.kotlin.android' version '1.5.31' }
- 若模块中有自定义Kotlin编译配置,确保
compileKotlin任务的版本设置为1.5.31:
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).configureEach { kotlinOptions { jvmTarget = '1.8' apiVersion = '1.5' languageVersion = '1.5' } }
- 检查模块内的依赖库,确保没有引入依赖于Kotlin 1.7.x的库,若有则替换为兼容1.5.x的版本。
额外检查
- 执行
./gradlew clean清理构建缓存后重新同步构建 - 确认Android Studio的Kotlin插件版本与项目配置的Kotlin版本一致(可在
File > Settings > Languages & Frameworks > Kotlin中查看)
内容的提问来源于stack exchange,提问作者Benjamin Sinzore
相关产品推荐
相关产品推荐

