java.util.zip.ZipException:packageAllDebugClassesForMultiDex 期间的重复条目

java.util.zip.ZipException: duplicate entry during packageAllDebugClassesForMultiDex

提问人:bman 提问时间:11/17/2014 最后编辑:OneCricketeerbman 更新时间:9/5/2019 访问量:250902

问:

我不确定这个错误是什么意思。

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 同步期间未显示错误。就在我尝试运行应用程序时

可能是什么问题?

android-gradle-plugin android-support-library android-multidex

评论

1赞 Piyush Agarwal 11/17/2014
当您的任何其他 jar 依赖项具有相同的类时,就会出现错误,请确保您没有添加支持 jar 作为 gradle 和 jar 依赖项。请在问题中包括完全依赖项闭包。
0赞 bman 11/17/2014
@pyus13谢谢。我已经更新了问题。这是我的整个依赖项列表
1赞 Piyush Agarwal 11/17/2014
项目中有 3 个模块依赖项,因此请确保其中只有一个具有 support-v4 作为依赖项。
0赞 Tomer 3/9/2015
请看我的回答: stackoverflow.com/questions/28168063/...
0赞 Harsha 2/10/2017
错误:任务“:Mulugu Astro:transformClassesWithJarMergingForDebug”执行失败。> com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: android/support/v4/view/ViewPager$MyAccessibilityDelegate.class

答:

81赞 zwebie 3/19/2015 #1

您现在可能已经解决了这个问题,但只是为了解决这个问题不会一直悬而未决, 尝试将其添加到您的:build.gradle

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

评论

4赞 biswajitGhosh 5/19/2015
我已经添加了配置行,但它仍然显示。Error:Execution failed for task ':Analyst:packageAllDebugClassesForMultiDex'. > java.util.zip.ZipException: duplicate entry: com/android/vending/billing/IInAppBillingService$Stub$Proxy.class
2赞 Arslan Anwar 5/27/2015
您是如何解决该问题的?
9赞 RamBabu Pudari 6/2/2015
有没有正确的解决方案,我遇到了同样的问题java.util.zip.ZipException:重复条目:com/google/gson/annotations/Expose.class
2赞 Ankit Thakkar 10/9/2015
错误:(5, 30) 错误:包 android.support.v4.app 不存在 添加答案后出现此错误
1赞 JStephen 11/14/2015
这应该去哪里,我是 gradle 的新手,我当前的项目中有 5 个 build.gradle 文件,它们都没有,我把它放在哪里似乎并不重要,我收到无法解析符号“exclude”或无法解析符号“all”之类的错误configurations
5赞 sanjay kumar thakur 3/23/2015 #2

简单:从依赖项中删除 Jar 文件:gardle.project 为 v7 并运行您的项目

评论

0赞 rafaellorey 2/2/2016
这对我来说是工作,只需在我的“build.gradle(模块:应用程序)”中删除“编译文件('libs/android-support-v13.jar')”形式的“依赖项”。作为参考,在将项目表单 eclipse 导入 Android Studio 后出现此错误。
9赞 user01000101 6/11/2015 #3

我的理解是,对同一 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'

在上面的例子中,我包含在我的 libs 目录 (theOffendingAAR) 中的 aar 文件包括 Google Play Services jar(是的,整个事情,是的,我知道)文件,而我的 BaseApp 构建文件利用了位置服务:

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

您可以安全地从构建文件中删除有问题的项,清理并重新生成(如有必要,请重复)。

评论

1赞 Janusz 6/19/2015
那么,如果我需要有问题的库怎么办?
1赞 speedynomads 10/6/2015
这帮助我追踪了违规的图书馆:)
1赞 Utsav Gupta 8/3/2016
这无济于事..删除有问题的库后,模块无法编译
9赞 Ninja Coding 2/19/2016 #4

检查您的依赖项版本,您必须具有兼容的版本,特别注意 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,如果您有其他版本编译将抛出该异常。

评论

0赞 Samadhan Medge 4/5/2016
谢谢伙计,工作完美,我有三种不同的google play服务编译'com.google.android.gms:play-services-analytics:8.4.0' 编译'com.google.android.gms:play-services-ads:8.3.0' 编译'com.google.android.gms:play-services-plus:8.4.0'
3赞 Ninja 3/3/2016 #5

找出 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 的罐子,在我的项目 'app' 中具有相同的 support-v4,在导入 espresso 时排除 support-v4。

PS:似乎不能与compile projectexclude

25赞 Paraneetharan Saravanaperumal 3/31/2016 #6

在重新导入旧的eclipse项目时,我也遇到了这种问题。它作为项目中的jar文件发生了一些旧的依赖项。

只需删除

编译文件树(dir: 'libs', include: '*.jar')

在 gradle 文件中

并在 gradle 文件中添加依赖项。

它对我有用......

评论

0赞 Paraneetharan Saravanaperumal 4/4/2016
导入旧的eclipse项目时发生此错误对不起,实际上,我删除了一些参考库并在gradle文件中添加了相同的依赖项。
1赞 Paco Abato 6/24/2016
为我工作(也从旧的eclipse配置导入)。之后需要清理和重建。
17赞 matthias_code 7/8/2016
我为什么要相信一个叫索伦的人?
0赞 SMBiggs 2/22/2017
阻止了这个特定的错误,但导致了其他几十个错误。有时您需要这些依赖项。尽管这听起来很奇怪,但索伦这次是对的。
1赞 Joshua Pinter 3/1/2017
通过一个接一个地显式添加依赖项,你可能会发现一个重复的库,你包含了两次。永远不要使用,它隐藏了太多明显的错误。.jarcompile fileTree(...)
5赞 Laveen Balakrishna 5/25/2016 #7

对于 Expose.class错误,即

java.util.zip.ZipException:重复条目:com/google/gson/annotations/Expose.class

使用以下代码

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

评论

11赞 IgorGanapolsky 7/22/2016
OP 对此只字未提.gson
13赞 b00n12 7/30/2016 #8

就我而言,提到的“重复条目”错误是在 build.gradle 中设置后出现的。multiDexEnable=true

为了完全解决该错误,首先请查看使用超过 64K 方法配置应用程序(特别是“使用 Gradle 为 Multidex 配置应用程序”)。

此外,在 Android Studio 中使用 ctrl+n 搜索导致“重复条目”错误的类的出现次数。确定包含重复项的模块和依赖项,并将其从构建中排除,例如:

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

我不得不尝试多个模块标签,直到它起作用。排除“support-v4”可解决与“java.util.zip.ZipException: duplicate entry: android/support/v4/*”相关的问题

0赞 LEMUEL ADANE 8/17/2016 #9

对于错误:任务“:app:transformClassesWithJarMergingForDebug”(错误:任务:转换类WithJarMergingForDebug)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' }

评论

0赞 OneCricketeer 7/22/2017
问题与格森无关
65赞 GeekHades 9/8/2016 #10

您需要检查是否插入了 v4 库和编译库?不得在应用或依赖项程序中重复库。

删除重复库,以便只保留一个 V4。

在应用目录文件中 添加以下命令:build.gradle

android{


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

}

它对我有用!你可以试试看!

评论

19赞 Nisarg 11/4/2016
添加此片段后无法获得 v4 的支持,有什么想法吗?
0赞 CJ_COIMBRA 1/11/2017
@Nisarg也发生在我身上。
0赞 GeekHades 4/24/2017
@Nisarg,您可以使用 gradle 重新编译程序。
0赞 Gaurav Arora 5/23/2017
@NisargCan请帮我如何再次重新编译,我也有和你一样的问题,片段和taskstackbuilder已停止解决
0赞 Ashish Rawat 10/12/2016 #11

我遇到了这个问题,因为我在 libs 中手动复制了 jar,并在 gradle 文件中提到了依赖项。您还可以检查项目结构,是否将相同的 jar 文件复制到任何其他文件夹(如 libs 或项目文件夹)中。

0赞 Muhamed Riyas M 10/31/2016 #12

升级android SDK后,我遇到了同样的问题。我能够在 中运行应用程序,当我更改为buildToolsVersion '23.0.1'buildToolsVersion '24.0.3'

我通过将我的 java 版本从 1.7 更新到 1.8 解决了这个问题compileSdkVersion 24

0赞 Darush 7/6/2017 #13

这个问题花了我一整天的时间。我最终将 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'
        }
    }
}

评论

1赞 OneCricketeer 7/22/2017
Firebase 界面版本取决于您实际编译的 Firebase 版本
1赞 Rahul Rastogi 7/7/2017 #14

这是因为您已经添加了一个库,并多次给出了它对模块的依赖关系。

就我而言,我添加了一个库作为模块和 gradle 依赖项。

删除一个添加库的来源(我删除了 gradle 依赖项)解决了我的问题。

评论

0赞 droideckar 12/2/2017
或者,通过从 libs 目录中删除 jar 并保留 gradle 依赖项,为我解决了这个问题。
0赞 Rahul Rastogi 12/4/2017
叶!删除任何单个源都会解决此问题。保持 gradle 依赖性是件好事。
-1赞 badboy_tqj 7/17/2017 #15

试试这个:

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

评论

0赞 OneCricketeer 7/22/2017
这个问题是关于支持 v4 库的,而不是 PhotoView
0赞 S HemaNandhini 1/26/2018 #16

我也有这个问题,因为我编译了'com.android.support:appcompat-v7:24.0.0-alpha1',但我添加了recyclerviewliberary编译'com.android.support:recyclerview-v7:24.0.2'。我将版本更改为与 compat like (24.0.2 intead of 24.0.0) 相同。

我得到了答案。也许它会对某人有所帮助。

0赞 paarth batra 4/3/2018 #17

就我而言,在build.gradle中设置multiDexEnable=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

因此,我首先在Android Studio中使用ctrl + n搜索导致“重复条目”错误的类,然后搜索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 4/12/2018 #18

就我而言,确切的错误如下

':android:transformClassesWithJarMergingForDebug'。

com.android.build.api.transform.TransformException:java.util.zip.ZipException:重复条目:com/google/android/gms/internal/zzqx.class

我正在使用另一个版本的谷歌 api,即在一个模块 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"

但是,为了找到这个,我在android studio中做了一个ctrl + n并输入了类名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赞 A. Steenbergen 3/18/2019 #19

对我来说,当我不小心添加时,也发生了类似的事情

apply plugin: 'kotlin-android'

到我的 Android 库模块。删除该行可解决该问题。

0赞 Pooja 9/5/2019 #20

我尝试了上述所有解决方案,但对我不起作用。我尝试通过应用程序> goto 项目结构更新库。它对我有用!希望这个答案对某人有所帮助。