0

Je reçois une erreur comme celle-ci lorsque je lance l'application.J'utilise HttpClient, HttpEntity, HttpResponse et HttpPost dans mon MainActivity .. donc j'ai fait quelques modifications au fichier gradle.Après cela, je reçois une erreur comme celle-ci.java.util.zip.ZipException: entrée en double: org/apache/http/ConnectionClosedException.class

Error:Execution failed for task ':app:transformClassesWithJarMergingForDebug'. 
> com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: org/apache/http/ConnectionClosedException.class 

j'ai également inclus la bibliothèque multidex et org.apache.http.legacy.jar dans mon app.but alors je suis aussi obtenir la même erreur.

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' 
} 

Je sais que cette question a été posée à plusieurs reprises, mais aucune des solutions a fonctionné pour moi .. Quelqu'un peut-il me s'il vous plaît aider à résoudre celui-ci.

+0

Vous ajoutez cette classe org/apache/http/ConnectionClosedException deux fois. Vérifiez vos dépendances. –

+0

J'ai vérifié..je n'ai ajouté qu'une fois..et même j'ai commenté 'compiler les fichiers ('libs/org.apache.http.legacy.jar')' cette ligne dans les dépendances parce que j'ai copié le fichier jar dans le dossier libs. .Mais alors aussi je reçois la même erreur. –

+0

@GabrieleMariotti ce qui pourrait être le problème ..? –

Répondre

0

Vous ne pouvez pas utiliser "compile 'org.apache.httpcomponents: httpcore: 4.4.1'" ni "compiler les fichiers ('libs/org.apache.http.legacy.jar')" en même temps.

+1

Pourriez-vous élaborer? Quelle serait la solution alors? –

0

Moi aussi, j'ai fait face au même problème. Le problème est Puisque vous utilisez

compile files('libs/org.apache.http.legacy.jar') and 
compile 'org.apache.httpcomponents:httpmime:4.5.1' 

Vous devez supprimer les deux bibliothèques dont j'ai parlé ci-dessous. Qui contient la duplication de ce qui précède.

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 

ajouter également cette section à l'intérieur android dans gradle

android { 
    compileSdkVersion 25 
    buildToolsVersion '25.0.2' 
    useLibrary 'org.apache.http.legacy'