我创建了一个新的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());
答案 0 :(得分:1)
shared_preferences:^ 0.5.6
它为我工作。
快乐编码!
答案 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