Flutter开发圈

升级flutter1.9 运行老版本创建的项目报错

2019-09-25  本文已影响0人  格雷s

升级flutter1.9之后运行老项目报以下错误:

[VERBOSE-2:ui_dart_state.cc(148)] Unhandled Exception: ServicesBinding.defaultBinaryMessenger was accessed before the binding was initialized.
If you're running an application and need to access the binary messenger before `runApp()` has been called (for example, during plugin initialization), then you need to explicitly call the `WidgetsFlutterBinding.ensureInitialized()` first.
If you're running a test, you can call the `TestWidgetsFlutterBinding.ensureInitialized()` as the first line in your test's `main()` method to initialize the binding.
#0      defaultBinaryMessenger.<anonymous closure> (package:flutter/src/services/binary_messenger.dart:73:7)
#1      defaultBinaryMessenger (package:flutter/src/services/binary_messenger.dart:86:4)
#2      MethodChannel.binaryMessenger (package:flutter/src/services/platform_channel.dart:140:62)
#3      MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:314:35)
<asynchronous suspension>
#4      MethodChannel.invokeMapMethod (package:f<…>

其实,日志已经说的比较明白了,在main函数里,runApp()调用之前,手动调用WidgetsFlutterBinding.ensureInitialized

void main() {
  WidgetsFlutterBinding.ensureInitialized();
  runApp(MyApp());
}
上一篇 下一篇

猜你喜欢

热点阅读