ZipException:重复条目:com.nineoldandroids

时间:2016-09-30 06:24:43

标签: android exception nineoldandroids residemenu

我使用gradle依赖项在项目中添加了ResideMenu。 但我得到了这个问题:

  

错误:任务执行失败   ':应用程序:transformClassesWithJarMergingForDebug'。

     
    

com.android.build.api.transform.TransformException:java.util.zip.ZipException:重复条目:     COM / nineoldandroids /动画/动画$ AnimatorListener.class

  

当我检查外部库时,我发现library-2.4.0和resideMenu-1.6都包含com.nineoldandroids:

enter image description here

我在stackoverflow上遇到了几乎所有类似的问题并尝试了解决方案。任何人都可以告诉我需要做些什么来消除这个问题。

以下是我在项目中使用的依赖项:

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile 'com.android.support:appcompat-v7:24.2.1'
    compile 'com.jakewharton:butterknife:7.0.1'
    compile 'com.squareup.picasso:picasso:2.5.2'
    compile 'com.pnikosis:materialish-progress:1.7'
    compile 'com.loopj.android:android-async-http:1.4.9'
    compile 'com.google.code.gson:gson:2.6.2'
    compile 'com.wrapp.floatlabelededittext:library:0.0.6'
    compile 'com.android.support:multidex:1.0.1'
    compile 'com.specyci:residemenu:1.6+'
}

3 个答案:

答案 0 :(得分:3)

您可以从您的依赖项中排除九个机器人。即:

以下更改:

compile 'com.specyci:residemenu:1.6+'

有了这个:

compile ('com.specyci:residemenu:1.6+') {
    exclude group: 'com.nineoldandroids', module: 'library'
}

注意:要列出所有子依赖关系树,请使用gradle dependenciesgradlew dependencies命令。然后,您可以获取要排除的库的正确组和模块名称。

答案 1 :(得分:2)

使用其他库添加exclude命令解决了该问题:

compile ('com.wrapp.floatlabelededittext:library:0.0.6'){
        exclude group: 'com.nineoldandroids', module: 'library'    }
    compile ('com.specyci:residemenu:1.6+') {
        exclude group: 'com.nineoldandroids', module: 'library'    }

答案 2 :(得分:0)

您必须先手动将ResideMenu库添加到项目中。 然后从ResideMenu库中打开Gradle文件。 在依赖项上,清理编译fileTree行(dir:' libs',include:[' * .jar'])并替换下面的行: 编译' com.nineoldandroids:library:2.4.0'