错误:java.util.zip.ZipException:重复条目

时间:2015-06-11 00:14:11

标签: android-studio duplicates

我试图在我的项目中添加一个库,现在我的build.gradle是:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.2"

    repositories {
        mavenCentral()
    }

    defaultConfig {
        applicationId "com.example.guycohen.cheaters"
        minSdkVersion 11
        targetSdkVersion 21
        versionCode 1
        versionName "1.0"
            // Enabling multidex support.
        multiDexEnabled true
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:21.0.3'
    compile 'com.facebook.android:facebook-android-sdk:4.0.0'
    compile 'com.android.support:multidex:1.0.0'
    compile 'com.parse.bolts:bolts-android:1.+'
    compile 'com.squareup.picasso:picasso:2.5.2'
    compile 'com.whl.handytabbar:library:1.0.4'
    compile 'com.nineoldandroids:library:2.4.0'
    compile 'com.daimajia.easing:library:1.0.1@aar'
    compile 'com.daimajia.androidanimations:library:1.1.3@aar'
}

当我添加新库

compile 'com.github.navasmdc:PhoneTutorial:1.+@aar'

我收到此错误:

Error:Execution failed for task ':app:packageAllDebugClassesForMultiDex'.
> java.util.zip.ZipException: duplicate entry:      android/support/v4/print/PrintHelperKitkat$2$1.class

我已尝试通过添加

解决此问题
configurations { all*.exclude group: 'com.android.support', module: 'support-v4' }

我在项目中找不到重复的课程。

我确定是否可以删除重复的条目,它会完美运行,但我不确定我是如何找到它的。

5 个答案:

答案 0 :(得分:13)

compile 'com.android.support:support-v4:22.1.1'
compile ('com.android.support:appcompat-v7:22.1.1') {
    exclude module: 'support-v4'
}
compile ('com.facebook.android:facebook-android-sdk:4.2.0') {
    exclude module: 'support-v4'
}
compile ('com.github.navasmdc:PhoneTutorial:1.+@aar') {
    exclude module: 'support-v4'
}

答案 1 :(得分:1)

我用它来替换我在gradle文件中使用的最新版本的所有支持库版本:

configurations.all {
    resolutionStrategy.eachDependency { DependencyResolveDetails details ->
        def requested = details.requested
        if (requested.group == 'com.android.support') {
            if (!requested.name.startsWith("multidex")) {
                details.useVersion "26.0.1"
            }
        }
    }
}

答案 2 :(得分:0)

尝试在build.gradle文件中使用此版本。

compile 'com.android.support:appcompat-v7:23.4.0'
compile 'com.android.support:design:23.4.0'
compile 'com.android.support:recyclerview-v7:23.4.0'
compile 'com.android.support:cardview-v7:23.4.0'

答案 3 :(得分:0)

您的错误:

  

java.util.zip.ZipException:重复条目:android / support / v4 / print / PrintHelperKitkat $ 2 $ 1.class

第1步: 在这种情况下,主提示是 android / support / v4 / print / PrintHelperKitkat $ 2 $ 1.class

第2步:在您的情况下搜索课程" PrintHelperKitkat.class" (在AndroidStudio中只需按Windows上的Ctrl + N或Mac上的CMD-O)

第3步:查看哪个jar包含它 - Android Studio会在弹出窗口中编写它。

第4步:从所有版本中排除

例如:

com.android.support:support-v4:_____

compile('your_conflicted_dependency')
    {
         exclude module: 'support-v4'
    }
  

在我的情况下,我的另一个依赖项也包含在我的另一个AAR中。所以我   删除了那个依赖

答案 4 :(得分:0)

我遇到了同样的问题。我通过

解决了

请确保在所有导入的项目build.gradle文件中都应具有与项目compileSdkVersion文件中相同的dependenciesbuild.gradle版本。 它将消除此错误。