Flutter 3.19集成Firebase遇Kotlin版本兼容问题求助
Flutter 3.19集成Firebase时Kotlin版本不兼容问题解决办法
这个报错的核心是项目依赖库用Kotlin 1.7.1编译,但你当前用的是1.9.0,版本不匹配导致冲突。要么是Firebase部分依赖还没适配1.9.0,要么是Flutter 3.19绑定的Android Gradle Plugin(AGP)对Kotlin版本有隐性上限要求(AGP 7.4+通常最高兼容Kotlin 1.7.x)。
下面是具体解决步骤:
1. 在根目录settings.gradle统一配置Kotlin版本
Flutter新版本已经弃用buildScript,现在版本管控移到了settings.gradle里:
找到pluginManagement块,添加Kotlin 1.7.1的配置:
pluginManagement { def kotlin_version = "1.7.1" plugins { id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false id "org.jetbrains.kotlin.android" version "$kotlin_version" apply false } }
如果你的settings.gradle里有dependencyResolutionManagement,也可以在这里统一声明版本:
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() } versionCatalogs { create("libs") { library("kotlin-stdlib", "org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.1") } } }
2. 同步app模块的build.gradle
打开android/app/build.gradle,确保Kotlin插件引用和上面配置一致,无需再单独写版本号:
plugins { id "com.android.application" id "kotlin-android" id "dev.flutter.flutter-gradle-plugin" } android { // 其他原有配置... kotlinOptions { jvmTarget = "1.8" } }
3. 清理缓存重新构建
执行以下命令彻底清除旧缓存,避免残留影响:
flutter clean rm -rf android/.gradle flutter pub get flutter run
补充说明
之所以要求旧版本,大概率是你用的Firebase依赖稳定版还没适配Kotlin 1.9.0,或者Flutter 3.19默认绑定的AGP版本(比如7.4.2)对Kotlin版本的兼容上限就是1.7.x,所以会抛出版本不匹配的错误。
内容的提问来源于stack exchange,提问作者Hazem.F_03
相关产品推荐
相关产品推荐

