it-roy-ru.com

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

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

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

110
bman

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

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

в файле dir build.gradle вашего приложения добавьте эту команду:

Android{


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

}

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

62
GeekHades

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

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

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

просто удали 

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

в файле Gradle

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

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

25

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

Чтобы полностью устранить ошибку, прежде всего взгляните на Настройка приложений с использованием методов более 64 КБ (особенно "Настройка приложения для Multidex с Gradle").

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

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

Мне пришлось попробовать несколько меток модуля, пока он не заработал. Исключение «support-v4» решает проблемы, связанные с «Java.util.Zip.ZipException: повторяющаяся запись: Android/support/v4/*»

12
b00n12

Насколько я понимаю, есть повторяющиеся ссылки на один и тот же 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), включал файл jar Служб Google Play (да, в общем, да, я знаю.), В то время как мой файл сборки BaseApp использовал службы определения местоположения:

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

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

9
user01000101

проверьте версии зависимостей, вы должны иметь совместимые версии, обратите особое внимание на пакеты 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, если у вас есть другая версия, компиляция выдаст это исключение.

8
Ninja Coding

Для Expose.class Ошибка, т. Е.

Java.util.Zip.ZipException: повторяющаяся запись: com/google/gson/annotations/Expose.class

используйте код ниже

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

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

5
sanjay kumar thakur

узнайте, что библиотека зависит от поддержки 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' есть jar с именем support-v4, а в моем проекте 'app' есть такой же support-v4, за исключением support-v4 при импорте espresso.

PS: похоже compile project не может работать с exclude

3
Ninja

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

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

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

1
Rahul Rastogi

В моем случае точная ошибка была ниже

': Android: transformClassesWithJarMergingForDebug.

com.Android.build.api.transform.TransformException: Java.util.Zip.ZipException: повторяющаяся запись: com/google/Android/gms/internal/zzqx.class

Я использовал другую версию Google Apis, т. Е. В одном файле Gradle модулей

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

однако в других модулях версии 11.6.0, как показано ниже

   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"

Однако, чтобы найти это, я сделал ctrl + n в Android studio и ввел имя класса zzqx.class, а затем он отобразил 2 jar-файла, извлекаемых для этого класса, и затем я понял, что где-то я использую версию 8.6.0. После изменения 8.6.0 на 11.6.0 и перестройки проекта проблема была исправлена.

Надеюсь это поможет . 

Подробнее об этом здесь https://www.versionpb.com/tutorials/step-step-tutorials-libgdx-basic-setup-libgdx/implementing-google-play-services-leaderboards-in-libgdx/

0
paarth batra

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

0
Ashish Rawat

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

и точная ошибка, которую я получал, была ниже:

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

Итак, во-первых, я ищу класс, который вызывает ошибку «повторяющаяся запись», используя ctrl + n в Android Studio, и искал com/google/Android/gms/internal/zzqx.class, а затем он показывает 2 записи для класса gms с одной версией. 8.4.0 и 1 с версией 11.6.0.

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

ранее 

    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"

После

    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"

Восстановление Исправлено.

0
paarth batra

просто удалите Android/support/v4/util/TimeUtils.class

0
jas-chu

Эта проблема стоила мне целый день. Наконец, я понизил версию библиотеки 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'
        }
    }
}
0
Darush

У меня также есть проблема из-за того, что у меня есть компиляция 'com.Android.support:appcompat-v7:24.0.0-alpha1', но я добавил библиотечный сборщик recyclerview 'com.Android.support:recyclerview-v7:24.0.2' .. я изменил версию так же, как compat как (24.0.2 intead 24.0.0).

я получил ответ .. может быть, это поможет кому-то.

0
S HemaNandhini

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

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

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

0
LEMUEL ADANE

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

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

0
Muhamed Riyas M

Для меня нечто подобное произошло, когда я случайно добавил

apply plugin: 'kotlin-Android'

в мой модуль библиотеки Android. Удаление строки устраняет проблему.

0
A. Steenbergen