2016-08-15 2 views
0

При создании APK для моего проекта, я получаю следующее сообщение об ошибке:Получение java.util.zip.ZipException: дублировать запись для 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

Вот мой Gradle файл:

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' 

Я думаю, мне придется что-то изменить с помощью

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

Я понятия не имею, что случилось. Я могу проверить приложение отлично, но когда я перестрою проект/build apk/generate подписанный apk, я получаю эту ошибку. Иногда дублируемая запись указывает на другой класс, чем AttachmentResource.class.

ответ

1

Похоже, что вы включили одну и ту же зависимость дважды.

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 
} 

удалить эту строку и повторите compile files('libs/simple-java-mail:4.1.1')

+0

Когда я извлекал линию вы сказали, я все еще есть исключение. Но когда я сохранил его и удалил другой, ошибка исчезла! Но фактические функции библиотеки не работают. Ошибка: https://dl.dropboxusercontent.com/u/14492668/Error.txt Пожалуйста, пожалуйста, помогите. Это срочно. Заранее спасибо –

+0

Если вы решите использовать 'jar' напрямую, вам также придется включить все его зависимости. Вы можете найти все зависимости для 'org.simplejavamail: simple-java-mail: 4.1.1' в этом' pom' здесь: http://central.maven.org/maven2/org/simplejavamail/simple-java-mail /4.1.1/simple-java-mail-4.1.1.pom. Конечно, если вы используете разрешение артефакта в градиенте, вы автоматически получите все это в своем пути к классам. – JBirdVegas

+1

В случае вашей второй ошибки выглядит так: 'org.slf4j' - это зависимость второго уровня для использования' simple-java-mail'. В принципе 'simple-java-mail' полагается на код из' slf4j', вместо того чтобы включать весь этот код, он просто включает в себя ссылку на pom, и система сборки добавит зависимости 'simple-java-mail' – JBirdVegas

Смежные вопросы