„Erstellung aufgrund der Verwendung von veralteter Android v1-Einbettung fehlgeschlagen“ beim Erstellen der Flutter-App

Lesezeit: 2 Minuten

Benutzeravatar von Ali Hassan
Ali Hassan

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.

  • 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

Benutzeravatar von Ahmed El Rhaouti
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.

Ä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:’:

Abwertung ignorieren

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

Benutzeravatar von Devdip rachchh
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

Michaels Benutzeravatar
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:

  1. Navigieren Sie zu android/app/src/main/java/[your/package/name]/MainActivity.java Öffnen Sie MainActivity.java oder MainActivity.kt.

  2. 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;
  1. Öffnen Sie android/app/src/main/AndroidManifest.xml.

  2. 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

1439010cookie-check„Erstellung aufgrund der Verwendung von veralteter Android v1-Einbettung fehlgeschlagen“ beim Erstellen der Flutter-App

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy