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

Flutter使用shared_preferences报MissingPluginException错误如何解决

Flutter shared_preferences MissingPluginException 错误修复方案

通用解决步骤

  • 确认pubspec.yaml中shared_preferences依赖拼写正确,版本匹配当前Flutter SDK版本,执行flutter pub get重新拉取依赖。
  • 插件引入后不要直接使用热重载/热重启运行,完全停止当前运行的应用进程,重新执行flutter run启动项目,触发原生侧插件编译打包。
  • 清空项目缓存重试:依次执行flutter clean → flutter pub get,原生端(Android/iOS)对应重新构建项目后再运行。

分平台特殊处理

  • Android平台:如果项目AGP版本≥8.0,检查android/settings.gradle文件,确保没有关闭自动插件注册逻辑,旧迁移项目确认GeneratedPluginRegistrant中已自动注册SharedPreferencesPlugin。
  • iOS平台:执行flutter pub get后,进入项目ios目录执行pod install重新安装原生依赖,再启动项目。

代码优化建议

你当前代码存在重复初始化实例的问题,可按以下逻辑调整避免冗余调用:

  1. 调整main函数,提前完成初始化,避免运行时反复调用getInstance:
void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await MyApp.init();
  runApp(const MyApp());
}
  1. 登录页代码可直接复用全局prefs实例,无需重复获取:
var me3 = jsondata["dd"];
// 直接用全局初始化好的prefs变量,无需重复getInstance
prefs.setString('id', "$me3");
Navigator.push(
  context, 
  MaterialPageRoute(builder: (context) => SearchPage()),
);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 03:54:01