77

我正在尝试使用插件

_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 重新启动应用程序不起作用。

4

8 回答 8

215

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

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

于 2018-07-09T11:01:02.390 回答
37
flutter clean

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

于 2018-05-22T03:19:12.607 回答
9

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

于 2021-03-30T07:11:31.820 回答
9

只需运行这些命令..

任何一个 -

扑干净

或者

使缓存无效/重新启动

于 2019-07-05T11:13:16.977 回答
5

在使用颤振吐司依赖和像 facebook_login 这样的依赖时出现问题。我按照以下步骤解决了它:

  1. 首先,您需要测试这些 toast 和共享首选项依赖项是否导致问题或其他一些依赖项导致问题。
  2. 为了测试它,你需要创建一个新的单独的颤振项目,它具有相同的颤振吐司和共享偏好依赖关系,现在检查你是否能够得到吐司。
  3. 如果您要吐司,那么您的吐司依赖性就没有问题。
  4. 问题可能出在您的社交媒体依赖项之一。

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

于 2020-09-15T10:28:03.313 回答
2

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

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

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

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

解决方案是

停止颤振运行过程并再次启动它重新启动内flutter run

于 2020-09-19T03:11:36.497 回答
1

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

于 2020-06-23T06:30:30.230 回答
1

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

于 2020-05-06T11:11:53.220 回答