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

执行flutter clean后Android模块丢失并报MissingPluginException如何解决

问题引发原因
  • flutter clean会清空项目所有构建缓存,其中包含插件的原生代码编译产物与注册信息,若后续构建时触发了增量编译逻辑,会导致Android端的GeneratedPluginRegistrant插件注册类没有重新生成,运行时找不到对应原生方法实现。
  • 你使用的Flutter SDK版本大概率在2.5~2.8区间,该版本范围存在已知的插件注册bug,clean后重构建时不会自动将第三方插件的原生代码打包进最终APK产物。
  • Android端的Gradle缓存存在冲突,插件模块的构建产物和App主模块的缓存不同步,导致实际运行加载的是未包含插件实现的旧安装包。
可行解决办法
  • 执行全量清理重建,按顺序执行以下命令:
flutter clean
rm -rf android/.gradle android/app/build
flutter pub get
flutter run

如果是Windows环境,手动删除android目录下的.gradle文件夹和app/build文件夹后再执行后续命令即可。

  • 手动校验插件注册逻辑:打开Android项目的MainActivity入口文件,确认继承自FlutterActivity,若你自己重写了configureFlutterEngine方法,需手动添加shared_preferences插件的注册代码,或者直接删除重写的方法走自动注册逻辑。
  • 适配依赖版本:如果你的Flutter SDK版本无法升级,可在pubspec.yaml中锁定shared_preferences的版本为2.0.15,不要使用版本前缀^,避免拉取不兼容的高版本插件。
  • 关闭Android增量编译:在android目录下的gradle.properties文件中添加配置android.injected.build.abi = arm64-v8a,armeabi-v7a,强制全量编译原生模块,避免增量编译带来的产物缺失问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 00:42:03