错误:无法在'SchedulerBinding?'上调用'method'addPostFrameCallback'

7

如何在Android Studio中修复Flutter中的此错误

/C:/src/flutterSDK/flutter/.pub-cache/hosted/pub.dartlang.org/get-4.6.3/lib/get_navigation/src/snackbar/snackbar.dart:452:31: 错误:无法在'SchedulerBinding?'上调用'addPostFrameCallback'方法,因为它可能为 null。

  • 'SchedulerBinding' 来自 'package:flutter/src/scheduler/binding.dart' ('/C:/src/flutterSDK/flutter/packages/flutter/lib/src/scheduler/binding.dart')。 尝试使用?.来调用。 SchedulerBinding.instance.addPostFrameCallback( ^^^^^^^^^^^^^^^^^^^^

同样的问题在这里,我也尝试降级到4.6.1,但没有任何改变。 - Ares91
4个回答

6

这个错误的原因是使用了适用于新的Flutter SDK版本3.0的get 4.6.2或4.6.3包。因此,您会遇到此错误。如果您正在使用Flutter SDK版本2.xx,则必须使用get 4.6.1。

我也遇到了同样的问题..在“dart.get”包中。然后我做了以下操作..

首先进入pubspec.yaml文件,然后将get版本编辑为不超过(get: ^4.6.1)..如果您正在使用Flutter SDK v2.xx。

如果版本无法降低,请尝试以下方法

进入pubspec.lock文件。 然后将版本编辑为不超过(4.6.1)..如果您正在使用Fluter SDK v2.xx。

您将在pubspec.lock文件中找到它

最后,您需要执行以下操作:

然后运行"pub get" ..错误将消失。


我的Flutter版本是2.10.5,获取的是4.6.1,但仍然无法工作。我尝试了无效缓存和重启,尝试了flutter clean。没有任何帮助。 - Baskar PC
首先在外部库中检查是否有一个名为get 4.6.x的文件夹。 从pubspec.yaml文件中删除GET依赖项。然后在终端中输入:flutter pub cache repair删除pubspec.lock文件。然后运行pub get命令。接着重新开始GET包的安装过程,尝试使用4.6.0版本。 - Nas Shihab

2

这是由于最近的Flutter更新所致。所有Flutter SDKs >= V2.10.3都存在这个问题,目前还没有合适的解决方案。

临时解决方法:

您可以简单地将Flutter SDK降级到V2.10.2或更低版本以解决此问题。

注意:

降级后,请确保您还根据Flutter SDK在pubspec.yaml中更改Dart版本。


0

0

试一下这个

flutter doctor --android-licenses

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接