我收到此错误。
错误:任务':app:packageAllDebugClassesForMultiDex'的执行失败。 java.util.zip.ZipException:重复条目:org / apache / commons / codec / binary / Base64.class
这是我的依赖关系。我正在使用OkHttp进行网络操作。它在5.0及以上版本中完美运行。但是在这之下会出现这个错误。
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.google.code.gson:gson:2.3.1'
compile files('libs/asmack-android-18-0.8.9.jar')
compile files('libs/bugsense-3.6.1.jar')
compile files('libs/commons-codec-1.4.jar')
compile files('libs/eventbus-2.1.0-beta-1.jar')
compile files('libs/glide-3.6.1.jar')
compile 'com.facebook.android:facebook-android-sdk:4.+'
compile 'com.google.android.gms:play-services:8.4.0'
compile 'com.rockerhieu.emojicon:library:1.0'
compile 'com.navercorp.pulltorefresh:library:3.2.0@aar'
compile files('libs/okhttp-1.2.1-jar-with-dependencies.jar')
compile files('libs/okio-1.0.1.jar')
compile files('libs/universal-image-loader-1.9.3-SNAPSHOT.jar')
compile files('libs/volley.jar')
compile 'com.android.support:appcompat-v7:23.1.0'
compile files('libs/org.apache.http.legacy.jar')
}
整个网格如下。
apply plugin: 'com.android.application'
android { compileSdkVersion 23 buildToolsVersion“22.0.1”
packagingOptions {
exclude 'META-INF/license.txt'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/notice.txt'
exclude 'META-INF/NOTICE.txt'
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
defaultConfig {
applicationId "com.onesnaps"
minSdkVersion 15
targetSdkVersion 23
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
}
gridle sync时没有错误。在运行时,它会为lolipop下的设备抛出此错误。
任何解决方案!感谢
答案 0 :(得分:0)
重复项: org / apache / commons /codec/binary/Base64.class
...
在 5.0及更高版本中可以完美运行
听起来您可能会遇到此问题:
https://developer.android.com/about/versions/pie/android-9.0-changes-28#apache-p
注意:android:required =“ false”属性对于SDK最低为23或更低的应用是必需的,因为在API级别低于24的设备上, org.apache.http.legacy库不可用。 (在这些设备上,Apache HTTP类在bootclasspath上可用。)
因此,您不需要依赖项
compile files('libs/org.apache.http.legacy.jar')
在为较低版本的Android编译时。
OR
app:packageAllDebugClassesForMultiDex
您可能超出了方法数量限制,需要启用multidex
https://developer.android.com/studio/build/multidex,如评论java.util.zip.ZipException: duplicate entry: org/apache/commons/codec/binary/Base64.class
中所述