You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter新增插件报MissingPluginException错误,常规方案无效如何解决

解决Flutter新增插件全部报MissingPluginException的方案

你当前使用的Flutter 2.6.0 master预览版本存在原生插件自动注册失败的已知缺陷,所有后续新增的带原生实现的插件都会无法正确注册到引擎,纯Dart实现的插件(比如你列表里的email_validator)不受影响。

以下是可行解决方案:

  • 方案1:切换到Flutter稳定通道(最推荐)
    依次执行以下命令:
    flutter channel stable
    flutter upgrade
    flutter clean
    flutter pub get
    
    命令执行完成后重新编译运行项目即可。
  • 方案2:手动注册插件(不适合切换通道时使用)
    针对各端手动添加插件注册代码:
    • iOS端:打开ios/Runner/AppDelegate.swift,在didFinishLaunchingWithOptions方法返回前,新增各异常插件的注册代码,示例如下:
      import share_plus
      // 其他需要注册的插件头引入
      // ...
      SharePlusPlugin.register(with: self.registrar(forPlugin: "SharePlusPlugin")!)
      // 依次添加其他插件的注册代码
      
    • Android端:打开android/app/src/main/kotlin/[你的包名路径]/MainActivity.kt,重写configureFlutterEngine方法,添加注册代码:
      import dev.fluttercommunity.plus.share.SharePlusPlugin
      // 其他需要注册的插件头引入
      // ...
      override fun configureFlutterEngine(flutterEngine: FlutterEngine) {
          super.configureFlutterEngine(flutterEngine)
          SharePlusPlugin.registerWith(flutterEngine.dartExecutor.binaryMessenger)
          // 依次添加其他插件的注册代码
      }
      
  • 方案3:临时规避方案
    将pubspec.yaml中所有无法正常工作的插件,移动到注释//from here, bottom plugins don't work上方的正常工作插件的任意位置,重新执行flutter pub get后编译项目即可临时解决问题,该问题是该预览版依赖顺序解析异常导致。
  • 额外检查项:如果开启了代码混淆,需要在android/app/proguard-rules.pro中添加对应插件的混淆排除规则,避免原生实现被错误裁剪。

内容的提问来源于stack exchange,提问作者tim_liu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 00:36:07