webentwicklung-frage-antwort-db.com.de

java.util.Zip.ZipException: Eintrag während packageAllDebugClassesForMultiDex duplizieren

Ich bin nicht sicher, was dieser Fehler bedeutet. 

Execution failed for task ':excelSior:packageAllDebugClassesForMultiDex'.
> Java.util.Zip.ZipException: duplicate entry: Android/support/v4/util/TimeUtils.class

Ich verwende derzeit Android-support-v4.jar für meine Bibliotheken

dependencies {
    compile project(':addThisSDK')
    compile project(':centeredContentButton')
    compile project(':googleplayservices_lib')
    compile files('libs/adxtag2.4.6.jar')
    compile files('libs/Android-support-v4.jar')
    compile files('libs/aws-Android-sdk-1.7.1.1-debug.jar')
    compile files('libs/commons-lang-2.6.jar')
    compile files('libs/crittercism_v4_4_0_sdkonly.jar')
    compile files('libs/dd-plist.jar')
    compile files('libs/FiksuAndroidSDK_4.1.1.jar')
    compile files('libs/iqengines-sdk-barcode.jar')
    compile files('libs/irEventTracker-1.2.jar')
    compile files('libs/jolt-core-0.0.7.jar')
    compile files('libs/json-utils-0.0.7.jar')
    compile files('libs/jsoup-1.7.2.jar')
    compile files('libs/kooaba-api-v4-Java.jar')
    compile 'com.Android.support:multidex:1.0.0'
}

Fehler wird während der Synchronisierung nicht angezeigt. Nur wenn ich versuche, die Anwendung auszuführen 

Was könnte das Problem sein?

110
bman

Sie müssen überprüfen, ob Sie die v4-Bibliothek eingefügt und die Bibliothek kompiliert haben? Sie dürfen die Bibliothek in Ihrer App oder Ihrem Abhängigkeitsprogramm nicht wiederholen.

löschen Sie die Wiederholungsbibliothek, sodass nur noch eine V4 vorhanden ist.

fügen Sie in Ihrem App-Verzeichnis build.gradle-Datei den folgenden Befehl hinzu:

Android{


    configurations {
        all*.exclude group: 'com.Android.support', module: 'support-v4'
        all*.exclude group: 'com.Android.support', module: 'support-annotations'
    }

}

für mich geht das! Du kannst es versuchen!

62
GeekHades

Sie haben dies wahrscheinlich bereits behoben, aber nur, damit dies nicht unbeantwortet bleibt... Versuchen Sie, dies zu Ihrem build.gradle hinzuzufügen:

configurations {
    all*.exclude group: 'com.Android.support', module: 'support-v4'
}
81
zwebie

Ich bin auch auf dieses freundliche Problem gestoßen, als ich das alte Eclipse-Projekt erneut importierte. Es ist eine alte Abhängigkeit als JAR-Datei im Projekt aufgetreten.

einfach entfernen 

compile fileTree (Verzeichnis: 'libs', include: '* .jar')

in gradle datei

und fügen Sie in der Gradle-Datei eine Abhängigkeit hinzu.

Für mich geht das ..

In meinem Fall ist der erwähnte Fehler "doppelte Eingabe" nach dem Setzen von multiDexEnable=true im build.gradle aufgetreten.

Um den Fehler vollständig zu beheben, werfen Sie einen Blick auf Konfigurieren Sie Apps mit über 64K-Methoden (besonders "Konfiguration Ihrer App für Multidex mit Gradle").

Suchen Sie außerdem nach Vorkommen der Klasse, die den Fehler "Eintrag duplizieren" verursacht, indem Sie in Android Studio Strg + n verwenden. Bestimmen Sie das Modul und die Abhängigkeit, die das Duplikat enthalten, und schließen Sie es vom Build aus, z.

compile ('org.roboguice:roboguice:2.0') {
    exclude module: 'support-v4'
}

Ich musste mehrere Moduletiketten ausprobieren, bis es funktionierte. Wenn Sie "support-v4" ausschließen, werden Probleme im Zusammenhang mit "Java.util.Zip.ZipException: doppelter Eintrag: Android/support/v4/*" gelöst.

12
b00n12

Ich verstehe, dass es doppelte Verweise auf dieselbe API (wahrscheinlich unterschiedliche Versionsnummern) gibt. Das Debuggen sollte beim Erstellen von der Befehlszeile aus relativ einfach sein.

Versuchen Sie ./gradlew yourBuildVariantName --debug von der Befehlszeile aus.

Der fehlerhafte Artikel ist der erste Fehler. Ein Beispiel könnte so aussehen:

14:32:29.171 [INFO] [org.gradle.api.Task] INPUT: /Users/mydir/Documents/androidApp/BaseApp/build/intermediates/exploded-aar/theOffendingAAR/libs/google-play-services.jar

14:32:29.171 [DEBUG] [org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter] Finished executing task ':BaseApp:packageAllyourBuildVariantNameClassesForMultiDex'

14:32:29.172 [LIFECYCLE] [class org.gradle.TaskExecutionLogger] :BaseApp:packageAllyourBuildVariantNameClassesForMultiDex FAILED'

Im obigen Fall enthielt die AAR-Datei, die ich in mein libs-Verzeichnis (theOffendingAAR) aufgenommen hatte, die JAR-Datei von Google Play Services (ja, die ganze Sache. Ja, ich weiß.), Während meine BaseApp-Builddatei Standortdienste verwendete:

compile 'com.google.Android.gms:play-services-location:6.5.87'

Sie können das fehlerhafte Element sicher aus Ihren Build-Dateien entfernen, bereinigen und neu erstellen (ggf. wiederholen).

9
user01000101

Überprüfen Sie die Versionen Ihrer Abhängigkeiten. Sie müssen kompatible Versionen haben, die speziell auf com.google-Pakete aufmerksam gemacht werden. 

compile 'com.google.Android.gms:play-services:8.3.0'
compile 'com.google.Android.gms:play-services-maps:8.3.0'

Beide sind 8.3.0. Wenn Sie eine andere Version haben, löst die Kompilierung diese Ausnahme aus.

8
Ninja Coding

Für Expose.class-Fehler

Java.util.Zip.ZipException: doppelter Eintrag: com/google/gson/annotations/Expose.class

verwenden Sie den folgenden Code

configurations {
    all*.exclude  module: 'gson'
}
5

Entfernen Sie einfach Ihre Jar-Datei aus den Abhängigkeiten gradle.project als v7 Und führen Sie Ihr Projekt aus 

5

herauszufinden, ob die lib von der unterstützung v4 abhängt, und schließen sie aus.

code in build.gradle ist wie folgt:

androidTestCompile('com.Android.support.test.espresso:espresso-contrib:2.2.1') {
    // http://stackoverflow.com/a/30931887/5210
    exclude group: 'com.Android.support', module: 'appcompat'
    exclude group: 'com.Android.support', module: 'support-v4'
    exclude module: 'recyclerview-v7'
}

In meiner Situation hat die lib 'espresso' ein jar namens support-v4 und in meinem Projekt 'app' die gleiche Unterstützung-v4. Schließen Sie die Unterstützung-v4 aus, wenn Sie Espresso importieren.

PS: Es scheint, dass compile project nicht mit der exclude zusammenarbeiten kann.

3
Ninja

Das liegt daran, dass Sie eine Bibliothek hinzugefügt und deren Abhängigkeit von einem Modul mehr als einmal angegeben haben.

In meinem Fall hatte ich eine Bibliothek als Modul und als Abhängigkeitsgrad hinzugefügt.

Das Entfernen einer Quelle zum Hinzufügen einer Bibliothek (ich habe die Abhängigkeit von Gradle entfernt) löste mein Problem.

1
Rahul Rastogi

In meinem Fall war der genaue Fehler unten

': Android: transformClassesWithJarMinningForDebug'.

com.Android.build.api.transform.TransformException: Java.util.Zip.ZipException: doppelter Eintrag: com/google/Android/gms/internal/zzqx.class

Ich verwendete eine andere Version von Google Apis, d. H. In einer Modul-Datei

if (!project.hasProperty('gms_library_version')) {
        ext.gms_library_version = '8.6.0'
   }

jedoch in anderen Modulversionen 11.6.0 wie unten

   compile "com.google.Android.gms:play-services-ads:11.6.0"
    compile "com.google.Android.gms:play-services-games:11.6.0"
    compile "com.google.Android.gms:play-services-auth:11.6.0"

Um dies herauszufinden, habe ich jedoch eine Strg + N in Android Studio eingegeben und den Klassennamen zzqx.class eingegeben. Dann wurden 2 JAR-Dateien angezeigt, die für diese Klasse abgerufen wurden, und ich habe verstanden, dass ich irgendwo Version 8.6.0 verwende. Bei der Änderung von 8.6.0 auf 11.6.0 und dem Neuaufbau des Projekts wurde das Problem behoben.

Hoffe das hilft . 

Mehr dazu hier https://www.versionpb.com/tutorials/step-step-tutorials-libgdx-basic-setup-libgdx/implementing-google-play-services-leaderboards-in-libgdx/

0
paarth batra

Ich bin mit diesem Problem konfrontiert, da ich das Glas manuell in Bibliotheken kopiert und die Abhängigkeit in der Gradle-Datei erwähnt habe. Sie überprüfen auch in Ihrer Projektstruktur, ob dieselbe JAR-Datei in einen anderen Ordner wie libs oder in einen Projektordner kopiert wird. 

0
Ashish Rawat

In meinem Fall ist der erwähnte Fehler "doppelter Eintrag" nach dem Setzen von "multiDexEnable = true" im build.gradle aufgetreten.

und genauer Fehler, den ich bekam, war unten:

Error:Execution failed for task 
':Android:transformClassesWithJarMergingForDebug'.
> com.Android.build.api.transform.TransformException: 
Java.util.Zip.ZipException: duplicate entry: 
com/google/Android/gms/internal/zzqx.class

Als Erstes suche ich nach einer Klasse, die den Fehler "Eintrag duplizieren" verursacht, indem Sie in Android Studio Strg + N verwenden und nach com/google/Android/gms/internal/zzqx.class suchen. Anschließend wurden 2 Einträge für die gms-Klasse mit einer Version angezeigt 8.4.0 und 1 mit Version 11.6.0.

Um das Problem zu beheben, habe ich sowohl 11.6.0 verwendet als auch ein Beispiel 

vorhin 

    compile "com.google.Android.gms:play-services-games:11.6.0"
    compile "com.google.Android.gms:play-services-auth:8.4.0"
    compile "com.google.Android.gms:play-services-ads:11.6.0"

Nach dem

    compile "com.google.Android.gms:play-services-games:11.6.0"
    compile "com.google.Android.gms:play-services-auth:11.6.0"
    compile "com.google.Android.gms:play-services-ads:11.6.0"

Neuerstellung behoben.

0
paarth batra

löschen Sie einfach Android/support/v4/util/TimeUtils.class

0
jas-chu

Dieses Problem hat mich einen ganzen Tag gekostet. Schließlich habe ich die Version der Firebase-ui-Bibliothek von 2.0.0 auf 1.2.0 heruntergestuft und den folgenden Code in die Datei build.gradle auf Projektebene eingefügt:

allprojects {
    repositories {
        jcenter()

        // Add the following code to your project level build.gradle
        maven {
            url 'https://maven.fabric.io/public'
        }
    }
}
0
Darush

Ich habe auch das Problem, weil ich 'com.Android.support:appcompat-v7:24.0.0-alpha1' kompiliert habe, aber ich fügte hinzu: recyclerview liberary compile 'com.Android.support:recyclerview-v7:24.0.2' Ich habe die Version genauso geändert wie Compat (24.0.2 intead von 24.0.0).

ich habe die Antwort. Vielleicht kann es für jemanden helfen.

0
S HemaNandhini

Für Fehler: Ausführung fehlgeschlagen für Task ': app: transformClassesWithJarMinningForDebug' com.Android.build.api.transform.TransformException Java.util.Zip.ZipException doppelter Eintrag com/google/gson/annotations/Expose.class

Folgendes habe ich getan:

1) Löschen Sie die Datei gson-2.5.jar . 2) Konfigurationen {alle * .exclude-Module: 'gson-2.5'}

0
LEMUEL ADANE

Ich hatte das gleiche Problem nach dem Upgrade des Android SDK. Ich konnte die Anwendung in buildToolsVersion '23.0.1' ausführen. Die gleiche Fehlermeldung wurde bei buildToolsVersion '24.0.3' angezeigt. 

Ich habe das Problem durch Aktualisieren meiner Java-Version von 1.7 auf 1.8 mit compileSdkVersion 24 behoben.

0
Muhamed Riyas M

Bei mir ist etwas Ähnliches passiert, als ich versehentlich hinzugefügt hatte

apply plugin: 'kotlin-Android'

zu meinem Android-Bibliotheksmodul. Das Entfernen der Linie behebt das Problem.

0
A. Steenbergen