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

Flutter使用syncfusion_flutter_charts报SchedulerBinding空错误如何解决

报错场景与环境
  • Flutter版本:2.10.1
  • 项目引入依赖:syncfusion_flutter_charts: ^20.1.47+1
  • 触发场景:在SM G935F设备上以调试模式启动lib/main.dart,执行Gradle任务assembleDebug时编译失败
错误明细

报错代码位置:/C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/syncfusion_flutter_core-20.1.60/lib/src/legend/legend.dart:548:39
核心编译错误:Error: Method 'addPostFrameCallback' cannot be called on 'SchedulerBinding?' because it is potentially null

  • 关联类来源:SchedulerBinding来自Flutter内置包package:flutter/src/scheduler/binding.dart,编译器提示出错代码行SchedulerBinding.instance.addPostFrameCallback(未对可空对象做判空处理,建议使用?.操作符调用
  • 最终构建抛出的异常信息:
    • 出错脚本位置:C:\src\flutter\packages\flutter_tools\gradle\flutter.gradle 第1102行
    • 任务失败原因::app:compileFlutterBuildDebug任务执行失败
    • 进程退出状态:Process 'command 'C:\src\flutter\bin\flutter.bat'' finished with non-zero exit value 1
修复方案

方案1:锁定传递依赖版本(推荐,无侵入)

该报错本质是传递依赖版本和当前Flutter版本不兼容:pub解析依赖时自动将syncfusion_flutter_core升级到了20.1.60,该版本针对Flutter 3.x做了适配(Flutter 3.x中SchedulerBinding.instance为非空类型,无需判空),不符合Flutter 2.10.1的空安全校验规则。
直接在项目根目录的pubspec.yaml中添加依赖覆盖配置,将syncfusion_flutter_core版本锁定为和当前charts版本匹配的20.1.47即可:

dependency_overrides:
  syncfusion_flutter_core: 20.1.47

配置完成后依次执行以下命令清理缓存、重新拉取依赖,再启动编译:

flutter clean
flutter pub get
flutter run

方案2:临时修改本地缓存代码(仅适合快速验证场景)

如果仅需临时跑通项目,可直接修改本地pub缓存中的报错文件:

  1. 打开报错对应路径的文件:/C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/syncfusion_flutter_core-20.1.60/lib/src/legend/legend.dart
  2. 定位到第548行,将原代码
    SchedulerBinding.instance.addPostFrameCallback(
    
    修改为带空安全判空的写法
    SchedulerBinding.instance?.addPostFrameCallback(
    
  3. 保存文件后重新编译即可。注意该修改属于本地临时改动,执行flutter pub cache repair或重新拉取依赖后会被重置。

方案3:升级Flutter版本

如果后续需要使用高版本syncfusion系列组件,可将Flutter升级到3.0及以上稳定版本。高版本Flutter中SchedulerBinding.instance已调整为非空类型,与20.1.60及以上版本的syncfusion组件天然兼容,不会出现该空安全调用报错。

内容的提问来源于stack exchange,提问作者Mukhtar Ali Khan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 08:15:43