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

Flutter中shared_preferences插件找不到错误的解决方法

解决shared_preferences插件的"package io.flutter.plugins.sharedpreferences does not exist"错误

你遇到的问题是Android端插件依赖未正确同步,或自动生成的注册文件引用了错误包路径,以下是具体解决步骤:

  • 清理项目并重新获取依赖
    依次执行以下命令:

    flutter clean
    flutter pub get
    

    进入项目android目录,执行gradle清理:

    # macOS/Linux
    ./gradlew clean
    
    # Windows
    gradlew clean
    
  • 重新生成自动注册文件
    GeneratedPluginRegistrant是Flutter自动生成的文件,禁止手动修改。删除当前的GeneratedPluginRegistrant.java文件(路径:android/app/src/main/java/io/flutter/plugins/GeneratedPluginRegistrant.java),重新运行项目后Flutter会自动生成正确的注册文件。

  • 检查版本兼容性
    你的Flutter SDK版本3.3.0-279.0.dev符合shared_preferences: ^2.2.2的要求,但需确保Android项目配置兼容:

    1. 打开android/build.gradle,确认ext.kotlin_version至少为1.7.10
    2. 确认gradle插件版本与Flutter版本匹配,比如classpath 'com.android.tools.build:gradle:7.4.2'
  • 同步Android项目
    在Android Studio中点击工具栏的"Sync Project with Gradle Files"按钮,确保所有Android端依赖完成下载。


你提供的错误代码及配置

报错的GeneratedPluginRegistrant代码:

package io.flutter.plugins;

import androidx.annotation.Keep;
import androidx.annotation.NonNull;
import io.flutter.Log;

import io.flutter.embedding.engine.FlutterEngine;

/**
 * Generated file. Do not edit.
 * This file is generated by the Flutter tool based on the
 * plugins that support the Android platform.
 */
@Keep
public final class GeneratedPluginRegistrant {
  private static final String TAG = "GeneratedPluginRegistrant";
  public static void registerWith(@NonNull FlutterEngine flutterEngine) {
    try {
      flutterEngine.getPlugins().add(new io.flutter.plugins.sharedpreferences.SharedPreferencesPlugin());
    } catch (Exception e) {
      Log.e(TAG, "Error registering plugin shared_preferences_android, io.flutter.plugins.sharedpreferences.SharedPreferencesPlugin", e);
    }
    try {
      flutterEngine.getPlugins().add(new fman.ge.smart_auth.SmartAuthPlugin());
    } catch (Exception e) {
      Log.e(TAG, "Error registering plugin smart_auth, fman.ge.smart_auth.SmartAuthPlugin", e);
    }
  }
}

你的pubspec.yml配置:

name: edu_tracker_admin_app_2024
description: "A new Flutter project."
publish_to: 'none'

version: 1.0.0+1

environment:
  sdk: '3.3.0-279.0.dev'

dependencies:
  flutter:
    sdk: flutter

  cupertino_icons: ^1.0.6
  pinput: ^3.0.1
  http: ^1.2.0
  shared_preferences: ^2.2.2

dev_dependencies:
  flutter_test:
    sdk: flutter

  flutter_lints: ^3.0.0

flutter:
  uses-material-design: true

  assets:
    - assets/images/

  fonts:
    - family: Philosopher
      fonts:
        - asset: assets/fonts/Philosopher-Bold.ttf
        - asset: assets/fonts/Philosopher-Italic.ttf
        - asset: assets/fonts/Philosopher-Regular.ttf

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 05:05:23