Ява.утиль.застежка-молния.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'
}

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

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

19 107

19 ответов:

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

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

в вашем приложении dir добавьте эту команду:

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 (реж.: 'libs', include:'*.jar')

в файле gradle

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

Это работает для меня ..

в моем случае упомянутая ошибка "дублировать запись" возникла после установкиmultiDexEnable=true в построении.градля.

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

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

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

Я должен был попробовать несколько меток модуля, пока он не работал. Исключение "support-v4" решает проблемы, связанные с " java.утиль.застежка-молния.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), включал jar сервисов Google Play (Да все это. да, я знаю.) файл в то время как мой файл сборки BaseApp использует службы определения местоположения:

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

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

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

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

Для Разоблачения.ошибка класса, т. е.

java.утиль.застежка-молния.ZipException: повторяющаяся запись: на COM/Гугл/дсын/Примечания/разоблачить.класс

использовать ниже код

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 при импорте эспрессо.

PS: кажется compile project С exclude

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

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

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

для ошибки: выполнение не удалось для задачи': app: transformClassesWithJarMergingFordebug ' com.андроид.строить.прикладной программный интерфейс.преобразиться.TransformException java.утиль.застежка-молния.Zipexception дубликат записи com / google/gson/аннотации / Expose.класс

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

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

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

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

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

эта проблема стоила мне одного целого дня. Я, наконец, понизил версию библиотеки firebase-ui с 2.0.0 до 1.2.0 и добавил следующий код внутри сборки уровня проекта.файл 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'  //去除重复依赖库
    }
}

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

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

в моем случае упомянутая ошибка "дублировать запись" возникла после settingmultiDexEnable=true в сборке.градля.

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

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.класс, а затем он показывал 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"

Восстановление Фиксированная .

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

': android: transformClassesWithJarMergingFordebug'.

com.андроид.строить.прикладной программный интерфейс.преобразиться.TransformException: java.утиль.застежка-молния.ZipException: дубликат записи: com / google/android/gms/internal / zzqx.класс

я использовал другую версию Google API, т. е. в одном модуле gradle file

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.класс, а затем он отобразил 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/

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