获取java.util.zip.ZipException:重复的条目异常

时间:2016-09-02 06:57:25

标签: android android-gradle android-appcompat androiddesignsupport

我正在尝试使用设计支持库。 Gradle依赖关系如下

dependencies {
    compile 'com.android.support:appcompat-v7:23.2.1'
    compile 'com.android.support:design:23.2.1'
    compile 'com.android.support:support-v4:23.2.1'
    compile 'com.android.support:cardview-v7:23.2.1'
    compile 'com.android.support:multidex:1.0.1'
}

但是当我尝试运行应用程序时出现以下错误

FAILURE: Build failed with an exception.
  • 出了什么问题:
      

    任务执行失败':restoAdminApp:transformClassesWithJarMergingForDebug'。   com.android.build.api.transform.TransformException:java.util.zip.ZipException:重复条目:android / support / v7 / recyclerview / BuildConfig.class

但是当我使用compile 'com.android.support:design:23.0.1'时 然后它工作正常。 但是如下所示获得另一个运行时异常

FATAL EXCEPTION: main java.lang.NoClassDefFoundError: android.support.v7.internal.widget.TintManager

任何人都可以帮忙解决此问题吗?

3 个答案:

答案 0 :(得分:2)

终于得到了答案。它是传递依赖问题。我有一个模块依赖项,其中包含 recyclerview-v7

设计支持库还包含 recyclerview-v7 依赖项。 因此它会导致java.util.zip.ZipException: duplicate entry: android/support/v7/recyclerview/BuildConfig.class错误。

我从设计支持库 as-

中排除了recyclerview依赖项
compile ('com.android.support:design:23.2.0'){
    exclude group:'com.android.support', module:'recyclerview-v7'

}

问题解决了。

答案 1 :(得分:1)

添加

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

multiDexEnabled true 清理并运行项目

答案 2 :(得分:0)

运行此命令

./gradlew clean

依赖块是正确的:

dependencies {
    compile 'com.android.support:appcompat-v7:23.2.1'
    compile 'com.android.support:design:23.2.1'
    compile 'com.android.support:support-v4:23.2.1'
    compile 'com.android.support:cardview-v7:23.2.1'
}