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

Flutter运行构建报错:BuildContext类未定义mounted getter

问题

应用此前运行正常,突然执行run或build操作时构建失败,具体错误信息如下:

  • 代码报错位置:lib/main.dart:1、../…/lib/fluttertoast.dart:154
  • 核心错误:类BuildContext未定义getter mounted,对应代码行:if (context?.mounted != true) {,提示需修正为现有getter名称,或定义名为mounted的getter/字段
  • 构建失败根源::app:compileFlutterBuildDebug任务执行失败,关联脚本路径为/Users/me/Documents/flutter/flutter/packages/flutter_tools/gradle/flutter.gradle第1159行,进程以非零退出值1结束
解决方案

原因

BuildContext.mounted是Flutter 3.7及更高版本才引入的属性,出现该问题通常是以下两种情况:

  • 降级了Flutter SDK版本,导致当前SDK不支持这个属性
  • 使用的fluttertoast包版本依赖了BuildContext.mounted,但你的SDK版本不兼容

修复方法

  • 升级Flutter SDK到3.7+
    执行终端命令:
    flutter upgrade
    
  • 修改依赖包代码(无法升级SDK时)
    找到fluttertoast.dart第154行的context?.mounted,替换为Navigator.of(context, rootNavigator: true).mounted;如果是在State类中调用,直接使用当前State的mounted属性即可,无需通过context获取。
  • 锁定兼容的fluttertoast版本
    在pubspec.yaml中指定适配旧SDK的版本,例如:
    dependencies:
      fluttertoast: ^8.2.2
    
    然后执行:
    flutter pub get
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 06:10:30