Eintragsname 'AndroidManifest.xml' kollidierte (Build fehlgeschlagen nach Aktualisierung des Android Gradle Plugins auf 3.6.0)

11

Ich habe kürzlich das Android Studio von 3.5 (stabil) auf 3.6 (stabil) aktualisiert.

Dann habe ich gesehen, dass das Plugin-Update auch verfügbar ist, also habe ich die Version von "com.android.tools.build:gradle" von 3.5.0 auf 3.6.0 aktualisiert und auch die Gradle-Version auf 5.6.4 aktualisiert

Jetzt beginnt das Problem, wenn ich versuche, das Projekt zu erstellen. Es schlägt fehl, wenn die Meldung Eintragsname 'AndroidManifest.xml' kollidiert

Geben Sie hier die Bildbeschreibung ein

Rikin Prajapati
quelle
Können Sie zum besseren Verständnis ein Fehlerbild hinzufügen?
Praful Korat
Auslöser: java.lang.IllegalStateException: Der Eintragsname 'AndroidManifest.xml' kollidierte unter com.android.zipflinger.ZipArchive.validateName (ZipArchive.java:302) unter com.android.zipflinger.ZipArchive.writeSource (ZipArchive.java:6) ) unter com.android.zipflinger.ZipArchive.add (ZipArchive.java:126) unter com.android.signflinger.SignedApk.add (SignedApk.java:135) ... unter org.gradle.internal.work.DefaultConditionalExecutionQueue $ ExecutionRunner .run (DefaultConditionalExecutionQueue.java:131) ... 3 weitere
T. Aslam
Ich habe das gleiche Problem. Ich führe "./gradlew assembleDebug --debug" aus und erhalte das Fehlerprotokoll "Task: app: packageDebug FAILED". Mit dem neuen Verpackungswerkzeug könnte etwas nicht in Ordnung sein. Erstellen Sie erfolgreich, nachdem Sie es deaktiviert haben, indem Sie "android.useNewApkCreator = false" in die Datei gradle.properties einfügen
Peter
Gleiches hier .. Nachdem Sie Android Studio auf 3.6 aktualisiert und alle verfügbaren Plugins aktualisiert haben, tritt dieses Problem auf, wenn Sie versuchen, die App auszuführen und das Projekt neu zu erstellen. Eintragsname 'AndroidManifest.xml' kollidiert weiß nicht, was zu tun ist.
Espada
Bitte schauen Sie sich eine ähnliche Antwort an stackoverflow.com/a/60469132/10646780
Jatin Sahgal

Antworten:

23

Dies wird durch das Android Gradle-Plugin 3.6 verursacht. Verwenden Sie Folgendes in Ihre gradle.properties-Datei, um das alte Verpackungstool wieder zu verwenden:

android.useNewApkCreator=false

Weitere Informationen finden Sie in der Versionshinweise: https://developer.android.com/studio/releases/gradle-plugin#zipflinger

xfx
quelle
1
wo solltest du das genau hinzufügen?
Rami Ammoun
1
gradle.properties
sweggersen
Dies ist eine nützliche Antwort. Es könnte sogar noch besser sein, wenn es eine Erklärung dafür gibt, was das neue Tool nicht mag.
Jameson
Ich habe in dieser Angelegenheit alle Ninja gemacht, indem ich mein Projekt gesäubert habe. Eine Million Mal ungültig machen und neu starten. Vielen Dank, dass dies geholfen hat. Außerdem war mein Fehler: Eintragsname 'kotlin / collection / MapWithDefault.kotlin_metadata' kollidierte
Karan Sharma
6

Ich habe eine Problemumgehung gefunden, indem ich diese zum build.gradle der App hinzugefügt habe:

android {
    packagingOptions {
        exclude 'AndroidManifest.xml'
    }
}

Ich hatte dies, um ein Problem beim Erstellen eines Bundles aufgrund des Audience Network von Facebook unter Android Studio 3.5 zu beheben.

Marco Batista
quelle
3

Ich erhalte eine ähnliche Fehlermeldung: Der Eintragsname 'resources.arsc' kollidierte. Problemumgehung, wie @Marco Batista sagte:

android {
    packagingOptions {
        exclude 'resources.arsc'
    }
}
android_su
quelle