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

Flutter 3.10.3升级至3.22后Android Gradle迁移报错求助

Flutter 3.22 Android构建失败问题排查与解决

问题概述

从Flutter 3.10.3升级到3.22后,iOS端正常运行,但Android端出现两类核心错误:

  1. 大量非Android平台插件找不到的提示(如file_selector_linux、firebase_core_web等)
  2. 第三方依赖使用Flutter废弃API导致的编译失败

一、解决插件找不到的错误

原因

新的Flutter Gradle插件会自动管理跨平台插件的引用,但旧缓存或残留配置导致Gradle错误尝试加载非Android平台的插件模块。

解决步骤

  • 删除项目根目录下的.flutter-plugins和.flutter-plugins-dependencies文件
  • 执行以下命令清理缓存并重新获取依赖:
    flutter clean
    flutter pub get
    

二、解决废弃API编译错误

错误1:TextTheme.bodyText2未定义

来自oktoast:3.3.1,Flutter 3.16+已将bodyText2替换为bodyMedium,旧版本包未适配该变更。

错误2:ThemeData.backgroundColor未定义

来自get:4.6.5,Flutter 3.16+已移除ThemeData.backgroundColor,需从colorScheme.background获取对应颜色值。

解决步骤

  • 升级oktoast到兼容Flutter 3.22的版本(推荐>=4.0.0),修改pubspec.yaml:
    oktoast: ^4.1.0
    
  • 升级get到兼容Flutter 3.22的版本(推荐>=4.6.6或更高),修改pubspec.yaml:
    get: ^4.6.6
    
  • 执行flutter pub get更新依赖

三、Gradle配置微调建议

  1. 替换废弃仓库源:jcenter()已停止服务,将android/build.gradle中的allprojects仓库配置修改为:
    allprojects {
        repositories {
            google()
            mavenCentral()
        }
    }
    
  2. 确认OneSignal插件配置:当前app/build.gradle中apply plugin: 'com.onesignal.androidsdk.onesignal-gradle-plugin'位置正确,但建议升级OneSignal插件版本以适配新Gradle体系。

验证解决结果

执行flutter run -d android启动项目,确认编译错误消失。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 18:49:49