最近我一直在使用一些flutter插件。许多插件都工作得很好,但我多次遇到令人沮丧的错误,通常导致放弃插件。
这是我得到的最后一个,schedule_notifications:
E/flutter (24758): [ERROR:topaz/lib/tonic/logging/dart_error.cc(16)] Unhandled exception:
E/flutter (24758): MissingPluginException(No implementation found for method getIconResourceId on channel schedule_notifications_app)
E/flutter (24758): #0 MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:278:7)
E/flutter (24758): <asynchronous suspension>
E/flutter (24758): #1 _MyAppState._getIconResourceId (<my path>/sandbox/lib/main.dart:67:40)
E/flutter (24758): <asynchronous suspension>
E/flutter (24758): #2 _MyAppState.initState (<my path>/sandbox/lib/main.dart:24:7)
E/flutter (24758): #3 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3751:58)
E/flutter (24758): #4 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3617:5)
E/flutter (24758): #5 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2907:14)
E/flutter (24758): #6 Element.updateChild (package:flutter/src/widgets/framework.dart:2710:12)
E/flutter (24758): #7 RenderObjectToWidgetElement._rebuild (package:flutter/src/widgets/binding.dart:857:16)
E/flutter (24758): #8 RenderObjectToWidgetElement.mount (package:flutter/src/widgets/binding.dart:828:5)
E/flutter (24758): #9 RenderObjectToWidgetAdapter.attachToRenderTree.<anonymous closure> (package:flutter/src/widgets/binding.dart:774:17)
E/flutter (24758): #10 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2222:19)
E/flutter (24758): #11 RenderObjectToWidgetAdapter.attachToRenderTree (package:flutter/src/widgets/binding.dart:773:13)
E/flutter (24758): #12 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&RendererBinding&WidgetsBinding.attachRootWidget (package:flutter/src/widgets/binding.dart:662:7)
E/flutter (24758): #13 runApp (package:flutter/src/widgets/binding.dart:704:7)
E/flutter (24758): #14 main (<my path>/sandbox/lib/main.dart:8:16)
E/flutter (24758): #15 _startIsolate.<anonymous closure> (dart:isolate/runtime/libisolate_patch.dart:279:19)
E/flutter (24758): #16 _RawReceivePortImpl._handleMessage (dart:isolate/runtime/libisolate_patch.dart:165:12)
D/libGLESv2(24758): DTS_GLAPI : DTS is not allowed for Package : <my package>
D/libGLESv1(24758): DTS_GLAPI : DTS is not allowed for Package : <my package>
D/ViewRootImpl(24758): ViewPostImeInputStage processPointer 0
D/ViewRootImpl(24758): ViewPostImeInputStage processPointer 1
SO和GitHub上有许多类似问题的例子(见我文章的结尾),但唯一建议解决它们的是“使用flatter clean
,flatter升级
,flatter包获得
,然后flatter run
”。有时这可能足够了,但并不总是如此——在我的特殊情况下,我仍然会得到完全相同的错误。
值得注意的是,如果我克隆了插件的整个GitHub存储库,并从这个目录中运行该示例,那么它确实运行得很好。但是如果我尝试重新创建示例项目,它不会,所以我认为我遗漏了一些东西,但是什么呢?
以下是我重新创建示例所遵循的步骤:
>
在Android Studio中创建一个新的Flutter项目
在pubspec中添加依赖项计划通知:^0.1.8。yaml
在Android Studio中点击Flutter命令包获取和包升级
点击Android Studio中出现的弹出窗口获取包
从中粘贴代码https://github.com/serralvo/schedule_notifications/blob/master/example/lib/main.dart在我的main中。省道
文件
更改行import'包:计划\通知\示例/时间\选择器。飞镖
导入时间选择器。飞镖
来解决我从Android Studio收到的错误
创建一个文件
时间选择器。在
main旁边划镖。省道
并将https://github.com/serralvo/schedule_notifications/blob/master/example/lib/time_picker.dart
在Android Studio中执行项目并获得上述错误
启动Flutter控制台并进入我的项目目录
执行控制台中的命令
flatter clean
,flatter upgrade
,flatter packages get
在控制台中执行命令
flutter run
仍然得到相同的错误
那么,到底发生了什么?对于一些开发人员或一些项目来说,哪些插件会产生这种行为?我做错了什么?
类似问题的例子:
>
flatter:google_sign_插件丢失PluginException
使用plugin进行颤振时缺少PluginException
颤振试验缺失插件
Flutter MissingPluginException错误
Flutter:未处理的异常:MissingPluginException(在通道plugins.flutter.io/shared_preferences上找不到getAll方法的实现)
https://github.com/flutter/flutter/issues/10912
在花了12个小时的持续努力在一个Fatter android项目中解决这个问题之后。。。最终解决-受“@rahulserver”解决方案启发,如下所示
只需在“MainActivity.java”中合并以下代码
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
GeneratedPluginRegistrant.registerWith(this.getFlutterEngine());
}
注意:main活动扩展了main活动
添加新插件时,需要重新构建应用程序,热重启不会构建应用程序,除非重新构建,否则新添加的插件不会包含在项目中。
在我的例子中,我(错误地)从MainActivity.kt
中删除了这一行(在onCreate
挂钩内)
GeneratedPluginRegistrant.registerWith(this)
可能是个错误,但花了我很多时间。希望能帮助某人。
我需要一些“包含”和“不包含”的正则表达式。通常我会写: 包含:(.*WORD_A.*)$,不包含:(^((?!WORD_A.*)*)$ 如果单独使用,这很好,但我想写一些可以检测到的东西,比如“包含单词A和单词B”(顺序不相关!)和“包含单词A,但不包含单词B)。 基本上,我希望用户可以做出这样的声明“以单词a开头,包含单词B,但不是C和/或以D结尾”,程序返回真/假。最好的办法是只附加正则表达
我正在为intelliJ IDEA开发一个插件,我正在使用一个外部库。当我跑步的时候,我有这个问题。 SLF4J:类路径包含多个SLF4J绑定。SLF4J:在[jar:file:/c:/users/molos/desktop/thesis-folder/thesis-project/build/idea-sandbox/plugins/thesis-project/lib/slf4j-log4j1
问题内容: 我是现代JS开发的新手,因此我需要有关此情况的帮助或建议。 情况: 我们有一个支持IE8(React 0.14)的React-Typescript-Redux项目。现在我们要升级到IE11和React 16,但应该支持IE8。 要求: 通过为每个构建使用不同的软件包和/或配置文件,减少浏览器版本之间的项目维护。 问题: 根据我到目前为止所做的研究,似乎无法通过选定的工具(npm,Web
嗨,我有相当不错的python和java知识,我最近决定在我的编程方面取得进一步的进步,就是创建我自己的语言,以便在我需要的时候使用和操作。我为eclipse安装了javacc插件,并浏览了一些教程。 我的问题是,当我创建一个新项目(文件 静态=假; “令牌上的语法错误,请删除这些令牌” Eclipse对除类名之外的所有内容都这样做,请注意,项目下的javacc模板没有错误。 请帮我找到一个解决方
问题内容: 据我所知,“ …”表示下面代码段中数组的长度。 另一方面,正如我猜想的那样,“ …”表示将以下代码段中的切片拆分为int的参数。我对此不太确定。 现在,两种含义的差异使我很难理解“ …”是什么。 问题答案: 您已经注意到Go中的两种情况。实际上,有3个: 在编译时 评估为[3] int {1,2,3} 解压缩作为函数的参数。这与您错过的一个(可变参数的定义)相匹配: 现在是另一个问题(
主要内容:单个Struts配置文件,多个Struts配置文件Struts 2自带有“包含文件”功能,包含多个Struts配置文件合并为一个单元。 单个Struts配置文件 让我们来看看一个糟糕的 Struts 2 配置示例。 struts.xml 在上面的Struts配置文件中,组织所有“用户”和“审核”配置设置在一个文件中,这不是建议的,必须回避。应该打破这种形式,而将struts.xml文件分成更小的模块相关的部分。 多个Struts配置文件 在Str