You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter集成Firebase时遭遇Kotlin版本不兼容编译错误求助

Flutter集成Firebase时遭遇Kotlin版本不兼容编译错误求助

我之前也踩过这个坑,太懂这种卡半天的憋屈了!咱们来一步步解决这个问题:

首先,先理清楚报错的核心原因:你看到的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.7.1,但Firebase依赖的play-services-measurement-api库是用Kotlin 1.9编译的,两者版本不兼容导致的。你说自己的Kotlin版本是最新的,大概率是把本地安装的Kotlin版本和项目中配置的Gradle插件版本搞混了——这俩是分开的,项目实际用的是build.gradle里配置的插件版本。

接下来按这些步骤操作:

  1. 确认并升级Kotlin Gradle插件版本
    打开你的项目根目录下的android/build.gradle文件,找到这两行:

    ext.kotlin_version = '1.7.1' // 这里可能是旧版本
    // ...
    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        // 其他依赖...
    }
    

    把ext.kotlin_version改成和Firebase依赖兼容的最新稳定版(比如1.9.x系列,比如'1.9.20'),确保下面的kotlin-gradle-plugin引用的是这个变量,没有硬编码旧版本。

  2. 清理缓存,重新构建
    执行以下命令彻底清理缓存,避免旧缓存干扰:

    flutter clean
    

    然后删除项目android目录下的.gradle文件夹(放心删,重新构建会自动生成),接着运行:

    flutter pub get
    flutter run
    
  3. 确保firebase_core是最新稳定版
    打开pubspec.yaml,检查firebase_core的版本号,把它更新到pub上的最新稳定版本(不要用带-dev的预览版),然后执行flutter pub get拉取最新依赖。

  4. 检查Gradle配置的兼容性
    打开android/gradle.properties,确保有这些配置(如果没有就加上),让Gradle和Kotlin版本匹配:

    kotlin.jvm.target=1.8
    android.useAndroidX=true
    android.enableJetifier=true
    

如果做完这些还是有问题,可以尝试在android/build.gradle的allprojects块中强制指定Kotlin相关依赖的版本,避免间接依赖拉取旧版本:

allprojects {
    repositories {
        // 你的仓库配置...
    }
    configurations.all {
        resolutionStrategy {
            force "org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.20"
            force "org.jetbrains.kotlin:kotlin-reflect:1.9.20"
        }
    }
}

一般来说,升级Kotlin Gradle插件版本是解决这个问题的核心,因为Firebase的新依赖已经开始用更高版本的Kotlin编译了,旧插件版本无法兼容新的元数据格式。

备注:内容来源于stack exchange,提问作者Shayan Bijad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.17 12:50:36