MissingPluginException(在通道 plugins.flutter.io/path_provider 上找不到方法 getApplicationDocumentsDirectory

Posted

技术标签:

【中文标题】MissingPluginException(在通道 plugins.flutter.io/path_provider 上找不到方法 getApplicationDocumentsDirectory 的实现)【英文标题】:MissingPluginException(No implementation found for method getApplicationDocumentsDirectory on channel plugins.flutter.io/path_provider) 【发布时间】:2021-09-12 13:50:19 【问题描述】:

Flutter 应用程序在发布模式下卡在启动页面(仅限) 共享错误堆栈跟踪

E/flutter (24026): [ERROR:flutter/lib/ui/ui_dart_state.cc(199)] Unhandled Exception: MissingPluginException(No implementation found for method getApplicationDocumentsDirectory on channel plugins.flutter.io/path_provider)

E/flutter (24026): #0      MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:156)
E/flutter (24026): #1      getApplicationDocumentsDirectory (package:path_provider/path_provider.dart:138)
E/flutter (24026): #2      HiveX.initFlutter (package:hive_flutter/src/hive_extensions.dart:12)
E/flutter (24026): #3      Future.wait.<anonymous closure> (dart:async/future.dart)
E/flutter (24026): #4      initializePlugins (package:application/main.dart:93)
E/flutter (24026): #5      main (package:application/main.dart:116)

我可以通过在 android build gradle 中禁用 minify 来解决这个问题

感谢分享answer

android 
    ...

    buildTypes 
        release 
            ...

            shrinkResources false
            minifyEnabled false
        
    

有没有办法在不禁用 minifyEnabled 的情况下解决这个问题?

【问题讨论】:

【参考方案1】:

好的,这是一个小错误。如果您添加新库或插件并运行热重启,则会发生这种情况。尝试使用 flutter clean 命令清理项目,然后从我们的设备中终止正在运行的应用程序,然后再次运行它。希望这会解决。

【讨论】:

嗨@pavel 问题发生在我尝试创建发布版本时。当您在调试模式下运行时,应用程序工作正常。另一件事,这不是一个新插件,我很久以前就添加了这个插件,但是在迁移到 Flutter 2.0 后我开始注意到这个问题 这是这个插件的最新版本吗? 是的,path_provider 2.0.2,我看到很多人报告了这个问题,但我得到的唯一可行的解​​决方案是将 minifyEnabled 设置为 false 我不认为这是一个好的解决方案。可以试试旧版本吗? 我确实有同样的看法,因为这不是一个好的解决方案。我尝试了不同的 gradle 版本。同样对于路径提供程序,我需要使用 2.0.0 以上的任何版本,因为我正在使用 null 安全性。

以上是关于MissingPluginException(在通道 plugins.flutter.io/path_provider 上找不到方法 getApplicationDocumentsDirectory 的主要内容,如果未能解决你的问题,请参考以下文章

MissingPluginException(未找到通道上的方法的实现)

GoogleMaps Flutter 插件 MissingPluginException

发布模式android中的MissingPluginException

尝试直接从 FLUTTER 发出呼叫:MissingPluginException(未找到方法 callNumber 的实现

android Unhandled Exception 上的 Flutter 运行错误:MissingPluginException(未找到方法的实现)

MissingPluginException(在通道 com.amazonaws.amplify/amplify 上找不到方法配置的实现)