Kotlin版本不兼容构建失败排查:本地版本与团队一致仍报错
Kotlin版本不兼容构建失败排查方案
问题背景
构建项目时出现如下错误:
Fix Issue - Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.9.0, expected version is 1.7.1
本地配置与团队共享版本完全一致:
- Kotlin Gradle插件版本:
1.8.21 - Android Gradle插件版本:
8.0.2 - Gradle版本:
8.0(对应gradle-8.0-bin.zip)
可能的原因及解决步骤
1. 本地Gradle缓存冲突
Gradle缓存中可能残留了不兼容的依赖编译产物,导致版本识别错误:
- 执行命令清理并重新拉取依赖:
# macOS/Linux ./gradlew clean build --refresh-dependencies # Windows gradlew.bat clean build --refresh-dependencies - 若无效,手动删除本地Gradle缓存目录:
- macOS/Linux:
~/.gradle/caches - Windows:
C:\Users\<你的用户名>\.gradle\caches
- macOS/Linux:
2. IDE缓存残留
Android Studio/IntelliJ的缓存可能保留了旧的Kotlin编译信息:
- 打开IDE,选择
File > Invalidate Caches... - 勾选
Invalidate and Restart,等待IDE重启并重新索引项目
3. 本地Kotlin SDK版本不匹配
IDE本地安装的Kotlin SDK版本可能与Gradle插件指定的版本不一致:
- 进入
File > Project Structure > Platform Settings > SDKs > Kotlin SDK - 确认选中的Kotlin版本为
1.8.21,若版本不符,切换到对应版本或点击Download安装指定版本
4. 第三方依赖引入高版本Kotlin
项目中的第三方依赖可能内置了Kotlin 1.9.0的编译产物,引发版本冲突:
- 执行依赖分析命令,排查冲突依赖:
./gradlew dependencies - 在项目根
build.gradle中添加强制版本统一配置:configurations.all { resolutionStrategy { force "org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.21" force "org.jetbrains.kotlin:kotlin-reflect:1.8.21" } }
5. 系统环境变量干扰
本地KOTLIN_HOME环境变量可能指向了1.9.0版本,导致Gradle优先使用该版本:
- 检查系统环境变量,移除或修改
KOTLIN_HOME,使其指向与插件一致的1.8.21版本目录 - 重启终端和IDE,确保环境变量生效
内容的提问来源于stack exchange,提问作者Vikas Pandey
相关产品推荐
相关产品推荐

