java.util.zip.ZipException:重复条目:org/apache/http/HttpMessage.class

java.util.zip.ZipException: duplicate entry: org/apache/http/HttpMessage.class

我收到以下错误。最近两天我没有尝试解决它,但没有解决问题。 Error:Execution 任务“:app:packageAllDebugClassesForMultiDex”失败。

java.util.zip.ZipException: duplicate entry: org/apache/http/HttpMessage.class here is my build.gradle(app)

apply plugin: 'com.android.application'


android {
compileSdkVersion 23
buildToolsVersion '23.0.0'

defaultConfig {
    applicationId "com.mycompany.newlogin"
    minSdkVersion 15
    targetSdkVersion 22
    versionCode 1
    versionName "1.0"
    multiDexEnabled true
}

buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
productFlavors {

}
useLibrary 'org.apache.http.legacy'
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:multidex:1.0.0'
compile 'com.google.guava:guava-jdk5:17.0'
compile 'com.android.support:appcompat-v7:23.0.1'
compile 'com.android.support:design:23.0.1'
compile 'org.apache.httpcomponents:httpcore:4.4.1'
compile 'org.apache.httpcomponents:httpclient:4.5'
compile 'org.jbundle.util.osgi.wrapped:org.jbundle.util.osgi.wrapped.org.apache.http.client:4.1.2'

}

请帮我解决这个问题。先谢谢你了。

看看你引用的包,org.jbundle.util.osgi.wrapped.org.apache.http.client 似乎至少包含一些 类 的 httpcore,尤其是你的错误消息中提到的那个。所以我想你不能也不应该将两者都用作依赖项,而只能使用你真正需要的那些。

我也有这个错误,我通过删除 httpcore

解决了这个问题

在你的 build.gradle(app) 中删除这些行

compile 'org.apache.httpcomponents:httpcore:4.4.1'
compile 'org.apache.httpcomponents:httpclient:4.5'

然后将最新的 apache 库添加到您的 build.gradle(app)

  compile group: 'org.apache.httpcomponents' , name: 'httpclient-android' , version: '4.3.5.1'

以下库引起了冲突,我将其从 build.gradle

中删除
  compile 'com.loopj.android:android-async-http:1.4.9'
  compile 'org.apache.httpcomponents:httpcore:4.4.1'

我只留下了:

    compile 'org.jbundle.util.osgi.wrapped:org.jbundle.util.osgi.wrapped.org.apache.http.client:4.1.2'