使用插件进行 flutter 时出现 MissingPluginException

MissingPluginException while using plugin for flutter

我正在尝试使用插件

_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 重新启动应用程序无效。

flutter clean

在控制台内按照说明完成工作here

如果您使用的是热重启或热重载,则无法解决问题。 由于 Flutter 必须将插件依赖项注入应用程序的特定平台部分,热 restart/hot 重新加载不足以触发注入。 查看此 issue 了解更多。

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

只需 运行 这些命令..

或者--

颤动干净

无效Caches/Restart

在我的例子中是 cached_network_image 插件,我从 pubspec.yaml 中删除了 cached_network_image 并用 Image.network 替换了实现,问题消失了

在我的例子中,我遇到了图像选择器的问题,然后我按照文档使用了带有 api 29+ 的模拟器,之前它没有用,因为我使用的是带有 api 28 https://pub.dev/packages/image_picker

使用 flutter toast 依赖项和 facebook_login 等依赖项时出现问题。我按照这些步骤解决了它:

  1. 首先,您需要测试是这些 toast 和 shared preference 依赖项导致问题还是其他一些依赖项导致问题。
  2. 为了测试它,您需要创建一个新的单独的 flutter 项目,该项目具有相同的 flutter toast 和共享的偏好依赖项,现在检查您是否能够获得 toasts。
  3. 如果你得到了 toast,那么你的 toast 依赖性就没有问题。
  4. 问题可能出在你对社交媒体的依赖上。

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

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

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

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

再说一次,这个 Flutter 错误消息通常没什么大不了的,它只是意味着你在这个过程中 forgotten/missed 有一些东西。

解决方案是

停止 flutter 运行 进程并在 flutter run

内重新启动它

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

只需打开终端并

步骤 1 flutter clean
步骤 2 flutter pub get
步骤 3 flutter run

它对我有用, 谢谢,祝你有美好的一天。

我可以卸载和安装该应用程序