Flutter安卓项目kotlin-stdlib依赖冲突问题求助
解决Flutter安卓模块Kotlin依赖重复类错误
错误原因
项目同时引入了不同版本的Kotlin标准库:kotlin-stdlib-1.8.0和kotlin-stdlib-jdk8-1.6.21,导致类定义重复。注意:Kotlin 1.8+版本的kotlin-stdlib已经整合了kotlin-stdlib-jdk8的所有功能,无需单独依赖后者。
解决方案
1. 统一项目Kotlin版本
打开安卓根目录的build.gradle(不是app子模块的那个),将kotlin_version统一设置为1.8.0:
buildscript { ext { kotlin_version = '1.8.0' } repositories { google() mavenCentral() } dependencies { classpath "com.android.tools.build:gradle:7.4.2" // 确保gradle版本与Kotlin版本兼容 classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } }
2. 移除重复的kotlin-stdlib-jdk8依赖
检查app模块或自定义安卓模块的build.gradle,如果存在以下依赖,直接删除:
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
保留基础的kotlin-stdlib依赖即可:
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
3. 强制所有依赖使用统一Kotlin版本(可选)
如果是第三方依赖偷偷引入了旧版本Kotlin库,在app模块的build.gradle中添加强制版本配置:
configurations.all { resolutionStrategy { force "org.jetbrains.kotlin:kotlin-stdlib:1.8.0" } }
4. 清理缓存并重新构建
执行以下命令清理缓存后重新运行项目:
# 清理Flutter缓存 flutter clean # 进入安卓目录清理gradle缓存 cd android && ./gradlew clean # 重新运行项目 flutter run
内容的提问来源于stack exchange,提问作者Moaz El-sawaf
相关产品推荐
相关产品推荐

