新建Flutter项目配置Firebase后出现Kotlin重复类错误
问题排查与解决步骤
1. 定位冲突来源
直接运行./gradlew app:dependencies(Windows环境用gradlew.bat app:dependencies)生成项目依赖树,搜索kotlin-stdlib和kotlin-stdlib-jdk8,找到哪个Firebase相关依赖(比如firebase_core的子依赖)引入了1.7.10版本的stdlib-jdk8——这就是冲突的根源。
2. 统一项目Kotlin版本
打开项目的android/build.gradle文件,找到buildscript块里的ext.kotlin_version,把它改成和报错里一致的1.8.22。如果没有这个配置,直接添加进去:
buildscript { ext.kotlin_version = '1.8.22' // 保留原有的repositories、dependencies配置 }
3. 强制所有依赖使用统一版本
在android/build.gradle的allprojects块里添加版本强制规则,确保所有第三方依赖都用指定的Kotlin版本,避免冲突:
allprojects { repositories { // 原有的仓库配置(google()、mavenCentral()等) } // 新增以下配置 configurations.all { resolutionStrategy { force "org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.22" force "org.jetbrains.kotlin:kotlin-stdlib:1.8.22" } } }
4. 清理缓存重新构建
- 执行
flutter clean清理Flutter项目缓存 - 进入项目的
android目录,执行./gradlew clean(Windows用gradlew.bat clean)清理Gradle缓存 - 最后重新运行
flutter run
冲突原因说明
Firebase CLI配置时自动引入的部分Firebase组件,依赖了旧版本的Kotlin标准库(1.7.10的stdlib-jdk8),而Flutter默认生成的项目用的是1.8.22版本的stdlib。从Kotlin 1.8开始,stdlib-jdk8的内容已经合并到stdlib主模块里,旧版本的jdk8模块和新版本stdlib出现了类重复,导致编译报错。
内容的提问来源于stack exchange,提问作者bartonstanley
相关产品推荐
相关产品推荐

