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

Flutter调用image_gallery_saver报MissingPluginException错误如何解决

解决方案

1. 优先处理版本兼容问题

升级Flutter后所有新增插件失效,首先确认你当前使用的Flutter版本与依赖插件的适配性:
你当前使用的image_gallery_saver: ^1.7.1是适配Flutter 2.x的旧版本,如果你已经升级到Flutter 3.x及以上,直接将该依赖升级到最新的2.x版本,同时将permission_handler升级到对应匹配的最新版本,避免版本不兼容导致的注册失败。

2. 全链路清理缓存重新构建

执行以下步骤强制刷新所有依赖和构建产物:

  • 关闭所有正在运行的Flutter调试会话、IDE关联进程
  • 删除项目根目录的pubspec.lock文件
  • 删除iOS目录下的Pods文件夹、Podfile.lock文件
  • 删除Android目录下的.gradle文件夹、根目录和app模块下的build文件夹
  • 执行命令flutter pub get
  • 进入iOS目录执行命令pod install --repo-update
  • 进入Android目录执行命令./gradlew clean(Windows系统执行gradlew clean)
  • 完全卸载测试设备上的现有应用,再重新编译运行项目

3. 检查原生端插件注册逻辑

高版本Flutter默认使用自动插件注册,如果你手动修改过原生端的入口代码,需要补全注册逻辑:

  • Android端:检查MainActivity代码,如果重写了configureFlutterEngine方法,确保方法内调用了GeneratedPluginRegistrant.registerWith(flutterEngine)
  • iOS端:检查AppDelegate代码,确保调用了GeneratedPluginRegistrant.register(with: self.registrar(forPlugin: "GeneratedPluginRegistrant")!),Swift和OC项目的调用逻辑对应适配即可

4. 补充混淆规则(可选)

即使你已经关闭了代码压缩,还是可以在Android项目的proguard-rules.pro中添加如下规则,避免后续开启混淆后出现同类问题:

-keep class com.example.imagegallerysaver.** { *; }

5. 修复项目配置(终极方案)

如果以上操作都无效,在项目根目录执行命令flutter create .,该命令会自动补全新版本Flutter要求的原生配置文件,不会覆盖你已有的业务代码,仅会更新原生端的构建配置适配新版Flutter,解决升级后配置不兼容的问题。

内容的提问来源于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.27 10:15:00