Sky24n / sp_util

Flutter shared_preferences plugin util.
BSD 3-Clause "New" or "Revised" License
36 stars 21 forks source link

E/flutter (28814): [ERROR:flutter/lib/ui/ui_dart_state.cc(177)] Unhandled Exception: MissingPluginException(No implementation found for method getAll on channel plugins.flutter.io/shared_preferences) #2

Open IvanYue opened 3 years ago

IvanYue commented 3 years ago

按照这位同学的方法,在 init 方法中添加了 SharedPreferences.setMockInitialValues({});可以解决这个问题。

# sp_util.dart
Future _init() async {
    SharedPreferences.setMockInitialValues({});
    _prefs = await SharedPreferences.getInstance();
  }
Sky24n commented 3 years ago

不需要那个,把app卸载重装试试!另外你自己翻译下那个方法的用途!

  /// Initializes the shared preferences with mock values for testing.
  ///
  /// If the singleton instance has been initialized already, it is nullified.
  @visibleForTesting
  static void setMockInitialValues(Map<String, dynamic> values) {
...
}
IvanYue commented 3 years ago

不需要那个,把app卸载重装试试!另外你自己翻译下那个方法的用途!

  /// Initializes the shared preferences with mock values for testing.
  ///
  /// If the singleton instance has been initialized already, it is nullified.
  @visibleForTesting
  static void setMockInitialValues(Map<String, dynamic> values) {
...
}

这个是测试时候的mock。debug下加了这个可以运行。但是realease下也不行。卸载,清缓存都试了。我看你的sp版本不是最新的版的。但是我项目中的是最新的版本,可能是别的啥第三方添加了吧。我的别的项目用这个库是正常的。现在这个问题也是几天前突然出现的。很懵逼

Sky24n commented 3 years ago

我这个是自动版本!或者你在yaml里面加下依赖 shared_preferences: ^0.5.12+4 删除pubspec.lock flutter clean flutter packages get

IvanYue commented 3 years ago

flutter packages get

不行,用模拟器和真机都是这个错误。只有安卓有。😢

Sky24n commented 3 years ago

加下这个试试,参考flutter_deer issues #115

public class MainActivity extends FlutterActivity {

  @Override
  public void configureFlutterEngine(@NonNull FlutterEngine flutterEngine) {
    super.configureFlutterEngine(flutterEngine);
  }
}
IvanYue commented 3 years ago

加下这个试试,参考flutter_deer issues #115

public class MainActivity extends FlutterActivity {

  @Override
  public void configureFlutterEngine(@NonNull FlutterEngine flutterEngine) {
    super.configureFlutterEngine(flutterEngine);
  }
}

不行。网上能看到的方法试遍了。也不知道什么原因引起的。以前遇到一种因为GeneratedPluginRegistrant中早加载的第三方有问题,导致后面的第三方都不加载了。最后用了SSS级忍术--删除安卓项目运行create .。完美解决😭😭😭😭

lhalcyon commented 3 years ago

加下这个试试,参考flutter_deer issues #115

public class MainActivity extends FlutterActivity {

  @Override
  public void configureFlutterEngine(@NonNull FlutterEngine flutterEngine) {
    super.configureFlutterEngine(flutterEngine);
  }
}

不行。网上能看到的方法试遍了。也不知道什么原因引起的。以前遇到一种因为GeneratedPluginRegistrant中早加载的第三方有问题,导致后面的第三方都不加载了。最后用了SSS级忍术--删除安卓项目运行create .。完美解决😭😭😭😭

这个是什么忍术,求教 . 我也是很多插件之前可以用,现在无论怎么clean重装 始终报错.