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


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


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.


3

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

android {
    packagingOptions {
        exclude 'resources.arsc'
    }
}
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.