当我运行应用程序时,我得到这样的错误。我在我的MainActivity中使用HttpClient,HttpEntity,HttpResponse和HttpPost。所以我对gradle文件做了一些修改。之后我得到这样的错误。
Error:Execution failed for task ':app:transformClassesWithJarMergingForDebug'.
> com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: org/apache/http/ConnectionClosedException.class
我还在我的应用程序中包含了multidex库和org.apache.http.legacy.jar。但是我也遇到了同样的错误。
的build.gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.2"
defaultConfig {
applicationId "com.example.test1"
minSdkVersion 15
targetSdkVersion 23
multiDexEnabled true
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'org.jbundle.util.osgi.wrapped:org.jbundle.util.osgi.wrapped.org.apache.http.client:4.1.2'
compile 'org.apache.httpcomponents:httpcore:4.4.1'
compile 'org.apache.httpcomponents:httpclient:4.5'
compile 'com.android.support:appcompat-v7:23.2.0'
compile 'com.android.support:multidex:1.0.1'
compile files('libs/org.apache.http.legacy.jar')
compile 'org.apache.httpcomponents:httpmime:4.5.1'
}
我知道这个问题已被多次询问,但没有一个解决方案对我有用.. 任何人都可以帮我解决这个问题。
答案 0 :(得分:0)
您不能同时使用“compile”org.apache.httpcomponents:httpcore:4.4.1'“或”编译文件('libs / org.apache.http.legacy.jar')。
答案 1 :(得分:0)
我也遇到了同样的问题。问题是因为你正在使用
compile files('libs/org.apache.http.legacy.jar') and
compile 'org.apache.httpcomponents:httpmime:4.5.1'
您需要删除我在下面提到的两个库。其中包含上述内容的重复。
if you are adding legacy and httpmime you don't need this
compile 'org.apache.httpcomponents:httpcore:4.4.1'//remove this
compile 'org.apache.httpcomponents:httpclient:4.5' // remove this too
另外在gradle中添加这个android部分
android {
compileSdkVersion 25
buildToolsVersion '25.0.2'
useLibrary 'org.apache.http.legacy'