2015-06-11 13 views
8

Ich versuche, eine Bibliothek zu meinem Projekt hinzuzufügen, mein jetzt aktuelle build.gradle ist:Fehler: java.util.zip.ZipException: doppelte Eintrag

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 21 
    buildToolsVersion "21.1.2" 

    repositories { 
     mavenCentral() 
    } 

    defaultConfig { 
     applicationId "com.example.guycohen.cheaters" 
     minSdkVersion 11 
     targetSdkVersion 21 
     versionCode 1 
     versionName "1.0" 
      // Enabling multidex support. 
     multiDexEnabled true 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    compile 'com.android.support:appcompat-v7:21.0.3' 
    compile 'com.facebook.android:facebook-android-sdk:4.0.0' 
    compile 'com.android.support:multidex:1.0.0' 
    compile 'com.parse.bolts:bolts-android:1.+' 
    compile 'com.squareup.picasso:picasso:2.5.2' 
    compile 'com.whl.handytabbar:library:1.0.4' 
    compile 'com.nineoldandroids:library:2.4.0' 
    compile 'com.daimajia.easing:library:[email protected]' 
    compile 'com.daimajia.androidanimations:library:[email protected]' 
} 

Wenn ich hinzufügen, eine neue Bibliothek

compile 'com.github.navasmdc:PhoneTutorial:[email protected]' 

ich diesen Fehler:

Error:Execution failed for task ':app:packageAllDebugClassesForMultiDex'. 
> java.util.zip.ZipException: duplicate entry:  android/support/v4/print/PrintHelperKitkat$2$1.class 

ich habe versucht, dieses Problem zu beheben, indem Sie das Hinzufügen

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

Ich konnte in meinem Projekt keine doppelte Klasse finden.

Ich bin sicher, ob, wenn ich den doppelten Eintrag löschen könnte, würde es perfekt laufen, aber ich bin mir nicht sicher, wie ich es finden würde.

Antwort

13
compile 'com.android.support:support-v4:22.1.1' 
compile ('com.android.support:appcompat-v7:22.1.1') { 
    exclude module: 'support-v4' 
} 
compile ('com.facebook.android:facebook-android-sdk:4.2.0') { 
    exclude module: 'support-v4' 
} 
compile ('com.github.navasmdc:PhoneTutorial:[email protected]') { 
    exclude module: 'support-v4' 
} 
+0

Danke für Ihr schnelle Antwort, ich bekomme immer noch Fehler: Ausführung fehlgeschlagen für Task ': app: packageAllDebugClassesForMultiDex'. > java.util.zip.ZipException: doppelten Eintrag: android/support/v4/print/PrintHelperKitkat $ 2 $ 1.Klasse ----------------> Ich verstehe nicht, warum ich Werde ich mich duplizieren, wenn ich die Support-Bibliothek ausschließe? es ist nicht einmal logisch. – XcodeNOOB

+0

fügen Sie es Facebook-Abhängigkeit hinzu compile ('com.facebook.android:facebook-android-sdk:4.2.0') { exclude-modul: 'support-v4' } – varun

+0

aktualisiert meine antwort – varun

0

Versuchen Sie, diese Versionen in build.gradle-Datei zu verwenden.

compile 'com.android.support:appcompat-v7:23.4.0' 
compile 'com.android.support:design:23.4.0' 
compile 'com.android.support:recyclerview-v7:23.4.0' 
compile 'com.android.support:cardview-v7:23.4.0' 
0

Ich benutze diese alle Support-Bibliotheken Versionen mit den neuesten, die ich in gradle-Datei verwenden zu ersetzen:

configurations.all { 
    resolutionStrategy.eachDependency { DependencyResolveDetails details -> 
     def requested = details.requested 
     if (requested.group == 'com.android.support') { 
      if (!requested.name.startsWith("multidex")) { 
       details.useVersion "26.0.1" 
      } 
     } 
    } 
} 
0

Ihr Fehler:

java.util.zip.ZipException: duplicate entry: android/support/v4/print/PrintHelperKitkat$2$1.class

Schritt 1 : In diesem Fall ist der Haupthinweis android/Unterstützung/v4/Druck/PrintHelperKitkat $ 2 $ 1.class

Schritt 2: für die Klasse Suchen, in Ihrem Fall der "PrintHelperKitkat.class" (in Android Studio drücken Sie einfach Strg + N auf Windows oder CMD-O auf Mac)

Schritt 3: Sehen Sie, welches Glas enthält es - Android Studio wird es in das Popup schreiben.

Schritt 4: es Ausschließen von allen baut,

zum Beispiel:

com.android.support:support-v4:_____

compile('your_conflicted_dependency') 
    { 
     exclude module: 'support-v4' 
    } 

In my case my one dependency also included in my another AAR. So I deleted that dependency

Verwandte Themen