私はandroidxサポートと共に新しいフラッタープロジェクトを作成し、shared_preferences 0.5.4 + 3を追加しようとしました。 getコマンドを呼び出すとプラグインshared_preferences
を使用するには、アプリをAndroid embedding 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());
Pubspec.yamlファイルを変更または追加するだけです
shared_preferences: ^0.5.3+5
shared_preferences:^ 0.5.6
それは私のために働いています。
ハッピーコーディング!!!
Share_preferenceのバージョンをshared_preferencesに戻します: '0.5.1 + 2'機能します
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" />
アプリは引き続き通常どおりビルドされます(フラッタービルドAPKなどを介して)が、現在は新しいAndroid=クラスを使用しています。