2016-08-15 4 views
0

Während für mein Projekt Bau apk, ich die folgende Fehlermeldung erhalten:Erste java.util.zip.ZipException: doppelte Eintrag für SimpleJavaMail

Error:Execution failed for task ':app:transformClassesWithJarMergingForRelease'. 
> com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: org/simplejavamail/email/AttachmentResource.class

Hier ist meine gradle Datei:

apply plugin: 'com.android.application' 
apply plugin: 'com.neenbedankt.android-apt' 
android { 
    compileSdkVersion 24 
    buildToolsVersion '24.0.1' 

    defaultConfig { 
     applicationId "com.parassidhu.cdlumaths" 
     minSdkVersion 16 
     targetSdkVersion 24 
     versionCode 2 
     versionName "1.1" 
     multiDexEnabled true 
    } 
    dexOptions { 
     incremental true 
     javaMaxHeapSize "8g" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles 'proguard-rules.pro' 
     } 
    } 
} 
dependencies { 
    compile fileTree(include: ['*.jar'], dir: 'libs') 
    testCompile 'junit:junit:4.12' 
    apt 'com.jakewharton:butterknife-compiler:8.0.1' 
    compile 'com.android.support:appcompat-v7:24.1.1' 
    compile 'com.android.support:design:24.1.1' 
    compile 'com.android.support:recyclerview-v7:24.1.1' 
    compile 'com.android.support:cardview-v7:24.1.1' 
    compile 'com.squareup.retrofit2:retrofit:2.0.2' 
    compile 'com.squareup.picasso:picasso:2.5.2' 
    compile 'com.jakewharton:butterknife:8.0.1' 
    compile 'com.github.paolorotolo:appintro:3.4.0' 
    compile 'com.android.support:support-v4:24.1.1' 
    compile 'com.google.android.gms:play-services:9.4.0' 
    compile 'com.android.support:multidex:1.0.1' 
    compile 'com.github.hotchemi:android-rate:1.0.1' 
    compile 'com.google.android.gms:play-services-ads:9.4.0' 
    compile 'org.simplejavamail:simple-java-mail:4.1.1' 
    compile files('libs/simple-java-mail-4.1.1.jar') 
} 
apply plugin: 'com.google.gms.google-services' 

Ich denke, ich muss etwas mit

'org.simplejavamail:simple-java-mail:4.1.1'
ändern

Ich habe keine Ahnung, was los ist. Ich kann die App gut testen, aber wenn ich Projekt neu erstellen/apk/signierte apk generieren, bekomme ich diesen Fehler. Manchmal verweist der doppelte Eintrag auf eine andere Klasse als AttachmentResource.class.

Antwort

1

Sieht aus, als ob Sie die gleiche Abhängigkeit zweimal enthalten.

dependencies { 
    ... 
    compile 'org.simplejavamail:simple-java-mail:4.1.1' 
    compile files('libs/simple-java-mail-4.1.1.jar') // <- this is the same jar as your pulling from maven in the line above 
} 

Entfernen Sie diese Zeile, und wiederholen Sie compile files('libs/simple-java-mail:4.1.1')

+0

Wenn ich die Zeile entfernt Ihnen gesagt, ich habe immer noch die Ausnahme. Aber als ich es behielt und das andere entfernte, ist der Fehler weg! Die eigentlichen Bibliotheksfunktionen funktionieren jedoch nicht. Fehler: https://dl.dropboxusercontent.com/u/14492668/Error.txt Bitte bitte helfen. Es ist dringend. Vielen Dank im Voraus –

+0

Wenn Sie wählen, das 'jar' direkt zu verwenden, müssten Sie auch alle seine Abhängigkeiten einschließen. Sie finden alle Abhängigkeiten für 'org.simplejavamail: simple-java-mail: 4.1.1' in der' pom' hier: http://central.maven.org/maven2/org/simplejavamail/simple-java-mail /4.1.1/simple-java-mail-4.1.1.pom. Natürlich, wenn Sie die Artefakt-Auflösung in Gradle verwenden, erhalten Sie alle in Ihrem Klassenpfad ohne automatisch. – JBirdVegas

+1

Im Fall von Ihrem zweiten Fehler sieht aus wie 'org.slf4j' ist eine Abhängigkeit der zweiten Schicht für die Verwendung von 'simple-java-mail'. Im Grunde genommen basiert 'simple-java-mail' auf dem Code von' slf4j', anstatt den gesamten Code einzuschließen, enthalten sie nur die Pom-Referenz und das Build-System wird 'simple-java-mail's Abhängigkeiten hinzufügen – JBirdVegas

Verwandte Themen