Android Impossible d’accéder à org.apache.http.client.HttpClient

J’utilise Android Studio pour créer une application qui envoie une requête GET à un serveur. Mon code est le suivant:

import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpGetHC4; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClientBuilder; public class HTTPHelper { private Ssortingng base; public HTTPHelper (Ssortingng base) { this.base = base; } public Ssortingng doGet (Ssortingng path) { try { CloseableHttpClient client = HttpClientBuilder.create().build(); HttpGetHC4 get = new HttpGetHC4(path); CloseableHttpResponse response = client.execute(get); return ""; } catch (Exception e) { return null; } } } 

Le problème est que Android Studio marque la ligne

 client.execute(get); 

avec une erreur:

entrer la description de l'image ici

en disant “Impossible d’accéder à org.apache.http.client.HttpClient”

Voici mon dossier de classement:

 apply plugin: 'com.android.application' android { comstackSdkVersion 23 buildToolsVersion "23.0.0" defaultConfig { applicationId "principal.halloween" minSdkVersion 16 targetSdkVersion 23 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { comstack fileTree(dir: 'libs', include: ['*.jar']) comstack 'com.android.support:appcompat-v7:23.0.0' comstack 'com.pubnub:pubnub-android:3.7.5' comstack 'com.google.code.gson:gson:2.3.1' comstack group: 'org.apache.httpcomponents' , name: 'httpclient-android' , version: '4.3.5.1' comstack 'org.apache.httpcomponents:httpclient:4.3.6' } 

Dans Android SDK 23

HttpClient est obsolète car il est inféré, vous pouvez migrer votre code dans HttpURLConnection

https://developer.android.com/about/versions/marshmallow/android-6.0-changes.html#behavior-apache-http-client

Vous pouvez l’utiliser, mais ce n’est plus recommandé

 android { useLibrary 'org.apache.http.legacy' } 

Pour la HttpURLConnection

 URL url = new URL(urlSsortingng); HttpURLConnection connection = (HttpURLConnection)url.openConnection(); connection.setRequestMethod("GET"); connection.setDoInput(true); connection.connect(); 

C’est parce que HttpClient n’est plus pris en charge dans sdk 23 et suivants. Essayez d’append ceci dans votre gradle.

 android { useLibrary 'org.apache.http.legacy' } 

Si cela ne fonctionne pas, téléchargez simplement le fichier jar HttpClient et ajoutez-le à votre bibliothèque.

Si cela ne fonctionne toujours pas, vous devez rétrograder votre comstackSdkVersion à 22 ou moins.