错误:java.util.zip.ZipException:重复的条目
我想添加一个库到我的项目,现在我的当前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' }
我在我的项目中找不到重复的类。
我敢肯定,如果我可以删除重复的条目,它会完美运行,但我不知道如何find它。
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' }
尝试在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'
我用它来replace所有的支持库版本,我用在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" } } } }
你的错误:
java.util.zip.ZipException:重复条目:android / support / v4 / print / PrintHelperKitkat $ 2 $ 1.class
第1步:在这种情况下,主要提示是android / support / v4 / print / PrintHelperKitkat $ 2 $ 1.class
步骤2:search类,在您的情况下,“PrintHelperKitkat.class”(在AndroidStudio中只需按Ctrl + N在Windows或CMD-O在Mac上)
第3步:查看哪个jar包含它 – Android Studio会将其写入popup窗口中。
第4步:从所有版本中排除它,
例如:
com.android.support:support-v4:_____
compile('your_conflicted_dependency') { exclude module: 'support-v4' }
在我的情况下,我的一个依赖也包括在我的另一个AAR。 所以我删除了这个依赖