使用plugin for flutter时出现MissingPluginException

时间:2018-05-22 03:18:27

标签: flutter

我正在尝试使用插件

_launchURL(url) async {
  await launch("www.google.com");
}

我已经把#34; www.google.com"仅用于调试目的。

我得到的错误是MissingPluginException:

E/flutter ( 8299): MissingPluginException(No implementation found for method launch on channel plugins.flutter.io/url_launcher)
E/flutter ( 8299): #0      MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:278:7)
E/flutter ( 8299): <asynchronous suspension>
E/flutter ( 8299): #1      launch (package:url_launcher/url_launcher.dart:47:19)
E/flutter ( 8299): #2      _launchURL (file:///Users/matejsimunic/Work/dart/suhail/lib/main.dart:834:9)
E/flutter ( 8299): <asynchronous suspension>
E/flutter ( 8299): #3      _TripDetailBodyState.build.<anonymous closure> (file:///Users/matejsimunic/Work/dart/suhail/lib/main.dart:818:19)
E/flutter ( 8299): #4      _InkResponseState._handleTap (package:flutter/src/material/ink_well.dart:494:14)
E/flutter ( 8299): #5      _InkResponseState.build.<anonymous closure> (package:flutter/src/material/ink_well.dart:549:30)
E/flutter ( 8299): #6      GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:102:24)
E/flutter ( 8299): #7      TapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:161:9)
E/flutter ( 8299): #8      TapGestureRecognizer.handlePrimaryPointer (package:flutter/src/gestures/tap.dart:94:7)
E/flutter ( 8299): #9      PrimaryPointerGestureRecognizer.handleEvent (package:flutter/src/gestures/recognizer.dart:315:9)
E/flutter ( 8299): #10     PointerRouter._dispatch (package:flutter/src/gestures/pointer_router.dart:73:12)
E/flutter ( 8299): #11     PointerRouter.route (package:flutter/src/gestures/pointer_router.dart:101:11)
E/flutter ( 8299): #12     _WidgetsFlutterBinding&BindingBase&GestureBinding.handleEvent (package:flutter/src/gestures/binding.dart:143:19)
E/flutter ( 8299): #13     _WidgetsFlutterBinding&BindingBase&GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:121:22)
E/flutter ( 8299): #14     _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerEvent (package:flutter/src/gestures/binding.dart:101:7)
E/flutter ( 8299): #15     _WidgetsFlutterBinding&BindingBase&GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:64:7)
E/flutter ( 8299): #16     _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:48:7)
E/flutter ( 8299): #17     _invoke1 (dart:ui/hooks.dart:134:13)
E/flutter ( 8299): #18     _dispatchPointerDataPacket (dart:ui/hooks.dart:91:5)

从ide重新启动应用程序无法正常工作。

8 个答案:

答案 0 :(得分:10)

如果您正在使用热重启或热重装,则不会成功。 由于Flutter必须将插件依赖项注入到应用程序特定于平台的部分中,因此热重启/热重载不足以触发注入。 进一步检查此issue

关闭应用程序并执行flutter run命令。

答案 1 :(得分:3)

flutter clean

在控制台内完成了here

所述的工作

答案 2 :(得分:1)

在使用flast toast依赖项和诸如facebook_login之类的依赖项时出现问题。我按照以下步骤进行了解决:

  1. 首先,您需要测试这些烤面包和共享的偏好依赖性是否引起了问题,还是其他一些依赖性导致了问题。
  2. 要进行测试,您需要创建一个新的单独的flutter项目,该项目具有相同的flutter吐司和共享的首选项依赖关系,现在检查是否可以吐司。
  3. 如果您要烤面包,那么您对烤面包的依赖性就没有问题。
  4. 问题可能出在您对社交媒体的依赖之一。

就我而言,我按照上述步骤操作,发现问题出在Facebook依赖项上。最后,我发现我没有在facebook开发者控制台上提供我的应用程序的详细信息。如此实施,我的应用程序就很好了。

答案 3 :(得分:1)

我在使用 Url_launcher 包时遇到了这个错误。只需停止并运行应用程序,问题就解决了

答案 4 :(得分:0)

只需运行这些命令。

两个-

扑打干净

使缓存无效/重新启动

答案 5 :(得分:0)

在我的情况下,这是用于cached_network_image插件的,我从pubspec.yaml中删除了cached_network_image,并用Image.network替换了实现,问题就消失了

答案 6 :(得分:0)

在我的情况下,我在图像选择器上遇到了问题,然后我按照文档使用了api 29+的仿真器,由于我使用的是api 28 https://pub.dev/packages/image_picker的仿真器,因此以前没有用

答案 7 :(得分:0)

不要害怕,这是正常的。对我来说,每次我在Flutter项目中添加新插件,然后忘记停止应用程序并重新启动它时,它都会发生。要么这样做,要么您可能正在命令行中工作,而忘记运行flutter pub get。

通常,工作流中发生的事情是:

  • 我已经在使用flutter run来运行应用程序。
  • 我在项目中添加了一个新插件。
  • 我的IDE为我运行flutter pub get
  • 我在应用中添加了新插件的功能。
  • 我在抖动运行屏幕上按下了rR,以重新加载应用程序。
  • 我收到这样的错误消息,因为我忘记了需要停止flutter run进程并重新启动它:

同样,此Flutter错误消息通常没什么大不了的,仅表示在此过程中您忘记/错过了一些东西。

解决方案

停止颤振运行过程,然后再次启动它,请在flutter run内重新启动