在flutter应用程序中添加shared_preferences时出错

时间:2019-11-05 07:33:34

标签: flutter sharedpreferences

我创建了一个新的flutter项目以及androidx支持,并尝试添加shared_preferences 0.5.4 + 3。当我打电话给命令。它会发出类似“ shared_preferences插件”的消息,要求您将应用迁移到Android嵌入式v2。请按照https://flutter.dev/go/android-project-migration上的步骤操作,然后重新运行此命令。

当我进行上述更改时,应用程序无法启动,并且出现如下错误。

.pub-cache/hosted/pub.dartlang.org/shared_preferences-0.5.4+3/android/src/main/java/io/flutter/plugins/sharedpreferences/SharedPreferencesPlugin.java:25: warning: [deprecation] getFlutterEngine() in FlutterPluginBinding has been deprecated
    setupChannel(binding.getFlutterEngine().getDartExecutor(), binding.getApplicationContext());

5 个答案:

答案 0 :(得分:1)

shared_preferences:^ 0.5.6

  1. 安装 OpenJDK11U-jdk_x64_windows_hotspot_11.0.6_10.msi
  2. 运行 flutter构建apk --release

它为我工作。

快乐编码!

答案 1 :(得分:0)

打开android / app / src / main / java / [your.package.name] /MainActivity.java。 更改现有代码

package [your.package.name];
import android.os.Bundle;
import io.flutter.app.FlutterActivity;
import io.flutter.plugins.GeneratedPluginRegistrant;
public class MainActivity extends FlutterActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
GeneratedPluginRegistrant.registerWith(this);
}}

package [your.package.name];
import io.flutter.embedding.android.FlutterActivity;
public class MainActivity extends FlutterActivity { }

打开android / app / src / main / AndroidManifest.xml。 使用键android:name =“ io.flutter.app.android.SplashScreenUntilFirstFrame”删除所有标签。 在内容下添加新标签

<meta-data
android:name="flutterEmbedding"
android:value="2" />

您的应用仍应正常构建(例如通过flutter build apk),但是您现在正在使用新的Android类。

答案 2 :(得分:0)

将您的share_preference版本还原为shared_preferences:“ 0.5.1 + 2”,它将起作用

答案 3 :(得分:0)

还原share_preference版本shared_preferences:'0.5.1 + 2',对我不起作用

答案 4 :(得分:0)

只需更改或添加pubspec.yaml文件

shared_preferences: ^0.5.3+5