我收到了MissingPlugin错误。我发现了很多关于这个错误的帖子。但我的情况有点不同。首先,我的项目在模拟器中运行良好,只有当我在物理Android上运行我的发布应用时,错误才会出现。其次,这个错误不仅仅与一个软件包有关。2我第一次遇到类似MissingPluginException的错误(在通道plugins.flutter.io/shared_preferences上找不到getAll方法的实现)在我放入代码后,我发现只能处理shared_preferences的问题。(在channel plugins.flutter.io/package_info上找不到getAll方法的实现)显然,该错误不仅仅与shared_preferences这样的一个包有关。
有什么主意吗?我怎样才能解决这个问题?
5条答案
按热度按时间7gs2gvoe1#
这是一个很多人都会犯的经典错误,你试图做的是把繁重的工作抽象到一个隔离体上,然而flutter隔离体除了flutter中的API和dart sdk之外,不能直接运行插件。
你有两个选择。
1.有一个插件我可以推荐,它不支持所有的flutter(第三方)插件,但它值得一试与您的. https://pub.dev/packages/flutter_isolate
这个插件创建了自动封送插件返回主隔离的隔离,而不会冒基础flutter隔离通常会抛出的运行时异常的风险。
1.只运行允许在基础flutter隔离中运行的繁重进程的源代码,只直接使用flutter & dart sdk apis。依赖于插件的其余代码将需要中继回主隔离,UI将不得不等待使用FutureBuilder的结果
pdkcd3nj2#
尝试了网上找到的一些不同的解决方案,如清洁和重建。无收缩等。没有一个对我有效。
最后在建设。gradle,我改变了
类路径“com.android.tools.build:gradle:4.0.0”到类路径“com.android.tools.build:gradle:3.5.1”
之后,apk大小是以前的50%,应用程序加载良好。
所以可能是新的构建工具的问题。
mqkwyuun3#
在
FlutterActivity
上缺少super.configureFlutterEngine(flutterEngine)
。4si2a6ki4#
我在一个旧的flutter应用程序上也遇到了同样的错误,在stable 3.0.2上运行,没有null safety。结果我使用了
shared_preferences : ^5.4
,它在调试时运行良好,但在Android上的发布模式下会导致插件崩溃添加
到
android/app/build.gradle
已修复此问题bzzcjhmw5#
有相同的问题,通过删除冗余插件指令修复:
之前:
之后: