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

Flutter项目运行报错:Kotlin Gradle版本不兼容及后续运行问题

解决Flutter Android构建的Kotlin版本冲突及后续构建问题

一、解决Kotlin Gradle插件版本冲突问题

你遇到的sign_in_with_apple依赖Kotlin版本过低的问题,是因为某个间接依赖(比如旧版flutterfire_ui)引入了该包,且指定的Kotlin Gradle插件版本1.3.50不满足Android Gradle插件7.3.1要求的1.5.20+。

解决方案:强制统一所有子项目的Kotlin版本

修改android/build.gradle文件,在subprojects块中添加强制版本的配置:

subprojects {
    project.buildDir = "${rootProject.buildDir}/${project.name}"
    project.evaluationDependsOn(':app')

    // 强制所有子项目使用根目录定义的Kotlin版本
    afterEvaluate {
        configurations.all {
            resolutionStrategy {
                force "org.jetbrains.kotlin:kotlin-gradle-plugin:${rootProject.ext.kotlin_version}"
            }
        }
    }
}

同时建议在buildscript中补充全局编译SDK版本,方便统一管理:

buildscript {
    ext.kotlin_version = '1.6.10'
    ext.compileSdkVersion = 33 // 添加此行
    repositories {
        google()
        mavenCentral()
    }
    // 其余依赖配置保持不变
}

二、解决替换flutterfire_ui后的构建失败问题

替换废弃的flutterfire_ui为firebase_ui_firestore后出现的构建错误,多是缓存残留或依赖替换不彻底导致的。

解决方案:

  1. 彻底清理所有缓存
    执行以下命令清理Flutter和Gradle缓存:

    flutter clean
    rm -rf android/.gradle
    rm -rf ~/.gradle/caches
    flutter pub get
    
  2. 确保依赖替换完整
    flutterfire_ui包含多个模块(如auth、firestore等),仅替换为firebase_ui_firestore可能无法满足原有功能需求,需根据你的实际使用情况补充对应依赖,示例:

    dependencies:
      # 移除旧的flutterfire_ui依赖
      # flutterfire_ui: ^0.4.3+20
      firebase_ui_firestore: ^1.3.0 # 你的目标依赖
      firebase_ui_auth: ^1.4.0 # 如果之前用了登录相关功能,需添加
      # 其余依赖保持不变
    
  3. 切换设备时的缓存处理
    切换Android设备前,先执行flutter clean,或在Android Studio中选择File > Invalidate Caches... > Invalidate and Restart,再重新执行flutter run,避免设备相关的缓存冲突。

完成以上配置后,重新执行flutter run即可正常构建。

内容的提问来源于stack exchange,提问作者Aimn Blbol

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 20:15:28