我怎样才能用 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”?因为它可能为空。
- 'SchedulerBinding' 来自 'package:flutter/src/scheduler/binding.dart' ('/C:/src/flutterSDK/flutter/packages/flutter/lib/src/scheduler/binding.dart' ).尝试使用 ? 调用。反而。调度程序绑定.instance.addPostFrameCallback( ^^^^^^^^^^^^^^^^^^^^^
回答1
发生此错误是因为包 get 4.6.2 或 4.6.3 适用于新的 flutter sdk 版本 3.0。所以你得到了这个错误。你必须为 flutter SDK 版本 2.xx 使用 get 4.6.1
我有同样的问题......关于“dart.get”包。然后我做了这个..
首先转到 pubspec.yaml 文件,然后编辑获取版本不超过 (get: ^4.6.1).. 如果您使用的是 fluter sdk v2.xx。
如果版本不会降低,请尝试此方法
转到 pubspec.lock 文件。如果您使用的是 flutter sdk v2.xx,请编辑不超过 (4.6.1) 的版本。
你会在 pubspec.lock 文件中找到
最后你必须这样做
然后“pub get”.. 错误将消失。
回答2
这是因为最近的 flutter 更新。所有 flutter SDKs >= V2.10.3
都有这个问题。这个错误还没有合适的解决方案。
临时解决方案:
您只需将 flutter SDK 降级到 V2.10.2
或更低版本即可解决此问题。
笔记:
降级后,请确保您还根据 Flutter SDK 更改了 flutter 项目的 pubspec.yaml 中的 dart 版本。
回答3
此错误是由于 Flutter 3.0.0 中的空安全属性发生了一些变化。在您的情况下,您可以尝试导入:get: 4.6.1
而不是 get: ^4.6.3
。来源:https://github.com/jonataslaw/getx/issues/2356