Java.util.zip.ZipException: дублировать запись во время packageAllDebugClassesForMultiDex

Я не уверен, что означает эта ошибка.

Execution failed for task ':excelSior:packageAllDebugClassesForMultiDex'. > java.util.zip.ZipException: duplicate entry: android/support/v4/util/TimeUtils.class 

В настоящее время я использую android-support-v4.jar для своих библиотек

 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' } 

Ошибка не появляется во время синхронизации градиента. Просто когда я пытаюсь запустить приложение

В чем может быть проблема?

Solutions Collecting From Web of "Java.util.zip.ZipException: дублировать запись во время packageAllDebugClassesForMultiDex"

Вам нужно проверить, что вы вставляете библиотеку v4 и компилируете библиотеку. Вы не должны иметь повторную библиотеку в своем приложении или в вашей программе зависимости.

Удалите библиотеку повтора, чтобы остался только один V4.

build.gradle файле app dir build.gradle добавьте эту команду:

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

меня устраивает! Можешь попробовать!

Вероятно, вы уже исправили это, но так, чтобы это не оставалось без ответа, попробуйте добавить это в свой build.gradle :

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

Я также столкнулся с такой проблемой, когда повторно импортировал старый проект eclipse. В проекте возникла некоторая старая зависимость как файл jar.

Просто удалите

Compile fileTree (dir: 'libs', include: '* .jar')

В файле gradle

И добавить зависимость в файле gradle.

Меня устраивает ..

В моем случае указанная ошибка «повторной записи» возникла после установки multiDexEnable=true в build.gradle.

Чтобы полностью разрешить ошибку, прежде всего, посмотрите на Configure Apps с более чем 64K методами (например, «Настройка вашего приложения для Multidex with Gradle»).

Кроме того, поиск вхождения класса, вызывающего ошибку «повторной записи», с помощью ctrl + n в Android Studio. Определите модуль и зависимость, которая содержит дубликат, и исключите его из сборки, например:

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

Я должен был попробовать несколько ярлыков модулей, пока он не сработает. Исключение «support-v4» решает проблемы, связанные с «java.util.zip.ZipException: дублирующаяся запись: android / support / v4 / *»

Я понимаю, что есть дубликаты ссылок на один и тот же API (вероятно, разные номера версий). При построении из командной строки должно быть достаточно легко отлаживаться.

Попробуйте ./gradlew yourBuildVariantName --debug из командной строки.

Оскорбительный элемент будет первым провалом. Пример может выглядеть так:

 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' 

В вышеприведенном случае файл aar, который я включил в мой каталог libs (theOffendingAAR), содержал файл баннера Google Play Services (да, все, что я знаю.), В то время как в файле сборки BaseApp использовались службы определения местоположения:

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

Вы можете безопасно удалить оскорбительный элемент из файла сборки, очистить и перестроить (повторите при необходимости).

Просто удалите файл Jar из зависимостей gardle.project как v7 и запустите проект

Проверьте свои версии зависимостей, у вас должны быть совместимые версии, специально предназначенные для пакетов com.google, должны иметь такую ​​же версию, как:

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

Оба являются 8.3.0, если у вас есть другая компиляция версии, это исключение.

Для Expose.class Error ie

Java.util.zip.ZipException: дублирующаяся запись: com / google / gson / annotations / Expose.class

Используйте приведенный ниже код

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

Узнайте, что lib зависит от поддержки v4 и исключает ее.

Код в build.gradle выглядит следующим образом:

 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' } 

В моей ситуации lib 'espresso' имеет банку под названием support-v4, а в моем проекте «приложение» имеет ту же поддержку-v4, что исключает поддержку-v4 при импорте espresso.

PS: кажется, что compile project не может работать с exclude

Я столкнулся с этой проблемой, поскольку вручную скопировал jar в libs, а также упомянул зависимость в файле gradle. Вы также проверяете структуру проекта, копируется ли тот же файл jar в любую другую папку, например, в библиотеки lib или в папку проекта.

У меня была такая же проблема после обновления SDK для Android. Я смог запустить приложение в buildToolsVersion '23.0.1' , я получил ту же ошибку, когда я изменил на buildToolsVersion '24.0.3'

Я решил проблему, обновив мою версию java от 1.7 до 1.8 с помощью compileSdkVersion 24

Эта проблема стоила мне всего один день. Я, наконец, понизил версию библиотеки firebase-ui с 2.0.0 до 1.2.0 и добавил следующий код внутри файла build.gradle на уровне проекта:

 allprojects { repositories { jcenter() // Add the following code to your project level build.gradle maven { url 'https://maven.fabric.io/public' } } } 

Это связано с тем, что вы добавили библиотеку и задали ее зависимость от модуля более одного раза.

В моем случае я добавил библиотеку в качестве модуля и как зависимость от градиента.

Удаление одного источника добавления библиотеки (я удалил зависимость градиента) решил мою проблему.

Попробуй это:

 android { configurations { all*.exclude module: 'PhotoView' //去除重复依赖库} } 

Для ошибки: выполнение не выполнено для задачи: app: transformClassesWithJarMergingForDebug 'com.android.build.api.transform.TransformException java.util.zip.ZipException дубликат записи com / google / gson / annotations / Expose.class

Вот что я сделал:

1) Удалите файл gson-2.5.jar. 2) конфигурации {all * .exclude module: 'gson-2.5'}

 provided 'com.alibaba:fastjson:1.2.17' 

Я использую предоставленные, эта банка участвует в сборке, а не во время выполнения