web-dev-qa-db-ja.com

Flutterアプリにshared_preferencesを追加中にエラーが発生する

私は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());
2
Suresh

Pubspec.yamlファイルを変更または追加するだけです

shared_preferences: ^0.5.3+5
3

shared_preferences:^ 0.5.6

  1. インストールOpenJDK11U-jdk_x64_windows_hotspot_11.0.6_10.msi
  2. Runflutter build apk --release

それは私のために働いています。

ハッピーコーディング!!!

1
sweetnandha cse

Share_preferenceのバージョンをshared_preferencesに戻します: '0.5.1 + 2'機能します

0
Subaharan Vel

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=クラスを使用しています。

0
Subaharan Vel