to migrate your project. You may also pass the --ignore-deprecation flag to
ignore this check and continue with the deprecated v1 embedding. However,
the v1 Android embedding will be removed in future versions of Flutter.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
The detected reason was:
C:\Users\ALI HASSAN\OneDrive\Desktop\New folder\arcore_app\example\android\app\src\main\AndroidManifest.xml uses
`android:name="io.flutter.app.FutterApplication"`
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Build failed due to use of deprecated Android v1 embedding.
„Erstellung aufgrund der Verwendung von veralteter Android v1-Einbettung fehlgeschlagen“ beim Erstellen der Flutter-App
Ali Hassan
Ahmed El Rhaouti
Sie müssen die ändern android\app\src\main\AndroidManifest.xml Datei.
Von :
<application
android:name="io.flutter.app.FlutterApplication"
...
Zu :
<application
android:name="${applicationName}"
...
fügen Sie diese drei Zeilen hinzu, wenn nicht vorhanden:
<meta-data
android:name="flutterEmbedding"
android:value="2" />
...
Dies wird vom Tool Flutter verwendet, um GeneratedPluginRegistrant.java zu generieren.
-
Dies ist nur Schritt 3 der Full-Flutter-App-Migration github.com/flutter/flutter/wiki/…
– Adel Ben Hamadi
13. März 2022 um 15:55 Uhr
Ändern Sie die Android-Datei AndroidManifest.xml
<application
android:name="io.flutter.app.FlutterApplication"
...
</application>
ZU
android:name="${applicationName}"
Auch diese beiden Zeilen hinzugefügt
<meta-data
android:name="flutterEmbedding"
android:value="2" />
-
Hast du die erste Antwort auf diesen Beitrag gelesen, bevor du kommentiert hast? stackoverflow.com/a/71457907/7969733
– grimmig
21. Juni 2022 um 20:33 Uhr
Je nachdem, was Sie tun, können Sie den Fehler ignorieren.
Ich zum Beispiel folge einem Online-Kurs, der Vorlagencode für jede Lektion bereitstellt. Der Vorlagencode ist jedoch veraltet und ich muss ihn nicht wirklich migrieren, um fortzufahren.
In Android Studio kann dies durch Hinzufügen von erreicht werden --ignore-deprecation
Flag zum Feld ‘Zusätzliche Ausführungs-Argumente:’:
Wenn Sie Ihr Projekt vor langer Zeit verlassen haben und jetzt zurückgekehrt sind, müssen Sie einige Dinge ändern, aber sie sind einfach, wenn Sie sie kennen:
Manifest
Ändern Sie alles, was Sie zuvor hier geschrieben haben, mit:
<application android:name="${applicationName}"
hinzufügen
<application android:exported="true"...>
<meta-data
android:name="flutterEmbedding"
android:value="2" />..
Im Hauptthema der Aktivität liegt das Hauptaugenmerk auf der Korrektur mit:
<meta-data android:name="io.flutter.embedding.android.NormalTheme" android:resource="your theme" />
Hoffe du hast die kotlin Klasse als Referenz, damit Sie in dem Fall gehen können MainActivity.kt:
package com.yourpackage.....
import io.flutter.embedding.android.FlutterActivity
class MainActivity: FlutterActivity() {
//If you have some native code put it back
}
Wenn Sie haben Java Hauptaktivität:
package com.yourpackage.....
import io.flutter.embedding.android.FlutterActivity;
public class MainActivity extends FlutterActivity {
// You can keep this empty class or remove it.
}
Es lohnt sich auch zu aktualisieren targetSdkVersion und kompilierenSdkVersionin meinem Fall unter: 31
Sie finden die Lösung, indem Sie ein neues Projekt mit dem neuesten SDK erstellen und die Datei android\app\src\main\AndroidManifest.xml der beiden Projekte vergleichen.
-
Stellen Sie sich vor, Sie befinden sich in einer Produktionsumgebung und schlagen dies dem Manager vor.
– grimmig
21. Juni 2022 um 20:31 Uhr
Entwickler rachchh
in der Hauptmanifest.xml-Datei,
set android:exported = “false”.
andere Lösung ist,
in app gradle,
ändern Sie Targetsdkversion auf 30 und Compilesdkversion auf 31
hat bei mir funktioniert
-
Stellen Sie sich vor, Sie befinden sich in einer Produktionsumgebung und schlagen dies dem Manager vor.
– grimmig
21. Juni 2022 um 20:31 Uhr
Michael
Genau wie der Fehler Ihnen sagt, verwenden Sie eine veraltete Einbettungsversion. Um auf eine neuere Version zu aktualisieren, gehen Sie bitte wie folgt vor:
-
Navigieren Sie zu android/app/src/main/java/[your/package/name]/MainActivity.java Öffnen Sie MainActivity.java oder MainActivity.kt.
-
Löschen Sie die folgenden Abhängigkeiten
import android.os.Bundle; import io.flutter.app.FlutterActivity; import io.flutter.plugins.GeneratedPluginRegistrant;
und ersetzen Sie sie durch die folgende Zeile
import io.flutter.embedding.android.FlutterActivity;
-
Öffnen Sie android/app/src/main/AndroidManifest.xml.
-
Ersetzen Sie den Verweis auf FlutterApplication im Anwendungs-Tag wie folgt durch ${applicationName}
<application android:name="${applicationName}" > <!-- code omitted --> </application>
5. Entfernen Sie alle Tags mit dem Schlüssel android:name=”io.flutter.app.android.SplashScreenUntilFirstFrame”. und Fügen Sie ein neues Tag unter Anwendung hinzu.
<meta-data
android:name="flutterEmbedding"
android:value="2" />
danach sollte alles funktionieren
Bitte erläutern Sie Ihr spezifisches Problem oder geben Sie zusätzliche Details an, um genau hervorzuheben, was Sie benötigen. So wie es derzeit geschrieben steht, ist es schwer, genau zu sagen, was Sie fragen.
– Gemeinschaft
bot
9. März 2022 um 17:53 Uhr