【问题标题】:MissingPluginException while using plugin for flutter使用颤振插件时出现 MissingPluginException
【发布时间】:2018-10-31 17:24:55
【问题描述】:

我正在尝试使用插件

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

我放“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 重启应用不起作用。

【问题讨论】:

  • 我在使用 image_picker 时遇到了这个问题:^0.6.7+4 和 flutter_facebook_login: ^3.0.0 我不得不从我的应用程序中删除 Facebook 支持

标签: flutter


【解决方案1】:

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

【讨论】:

  • 点评来源: 请解释为什么您的解决方案有效,否则只需将其作为对其他答案的评论发布。见 S.O.规则:quality answer
  • 是的,对于 url_launcher 包,您必须终止在模拟器上运行的应用程序并重新启动它才能解决此问题。谢谢。
【解决方案2】:

在使用 Flutter Toast 依赖项和 facebook_login 等依赖项时遇到问题。我按照以下步骤解决了它:

  1. 首先,您需要测试这些 toast 和共享首选项依赖项是否导致问题或某些其他依赖项导致问题。
  2. 为了进行测试,您需要创建一个新的独立 Flutter 项目,该项目具有相同的 Flutter Toast 和共享偏好依赖项,现在检查您是否能够获得 Toast。
  3. 如果您要吐司,那么您的吐司依赖性就没有问题。
  4. 问题可能在于您的社交媒体依赖项之一。

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

【讨论】:

  • 谢谢兄弟,你救了我,我也在为同样的问题 facebook 依赖而苦苦挣扎,我很惊讶为什么插件在其他应用程序上正常工作时无法正常工作,太棒了!!!!!!
【解决方案3】:

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

通常在工作流程中发生的是:

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

同样,这个 Flutter 错误消息通常没什么大不了的,它只是意味着你在这个过程中忘记/错过了一些东西。

解决办法是

停止flutter run进程并重新启动在flutter run内重启

【讨论】:

    【解决方案4】:

    在我的情况下,我的图像选择器有这个问题,然后我按照文档使用了一个 api 29+ 的模拟器,它之前没有工作,因为我使用的是一个 api 28 的模拟器https://pub.dev/packages/image_picker

    【讨论】:

      【解决方案5】:

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

      【讨论】:

        【解决方案6】:

        只需运行这些命令..

        要么——

        颤抖干净

        使缓存无效/重新启动

        【讨论】:

          【解决方案7】:

          如果您正在使用热重启或热重载,它不会成功。 由于 Flutter 必须将插件依赖项注入应用程序的特定平台部分,因此热重启/热重载不足以触发注入。 查看此issue 了解更多信息。

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

          【讨论】:

          • 我在使用另一个 Flutter 插件时遇到了错误,您的解决方案工作正常。非常感谢。
          • 最好在使用命令“flutter run”之前清理运行一个。要清理,请使用命令“flutter clean”
          • 什么都不用做,只需要关闭应用重新运行/重新编译即可。它对我有用。谢谢提问。
          • @Kamlesh 这正是解决方案最后一行中提到的内容。第一段只是为了解释为什么会发生异常。
          【解决方案8】:
          flutter clean
          

          在控制台内部完成了here 所述的工作

          【讨论】:

          • 如此简单 - 但这为我节省了数小时的拉头发时间。很棒的提示。
          猜你喜欢
          • 2021-04-11
          • 2018-10-30
          • 1970-01-01
          • 2021-01-26
          • 1970-01-01
          • 1970-01-01
          • 2022-11-04
          • 2020-12-01
          • 1970-01-01
          相关资源
          最近更新 更多