web-dev-qa-db-fra.com

Connexion HTTP Apache avec Android 6.0 (Marshmallow)

Existe-t-il un moyen d'inclure la bibliothèque Apache directement dans Gradle pour la faire fonctionner avec Android 6.0?

J'ai essayé d'inclure les bibliothèques comme ça:

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

Et Android Studio n'a pas réussi à trouver l'importation suivante:

import org.Apache.http.auth.AuthenticationException;
import org.Apache.http.auth.Credentials;
import org.Apache.http.auth.MalformedChallengeException;
import org.Apache.http.auth.UsernamePasswordCredentials;
import org.Apache.http.impl.auth.DigestScheme;
29
Hrk

Cette page traite de la suppression des classes HTTP Apache, et propose également une solution de contournement:

Pour continuer à utiliser les API HTTP Apache, vous devez d'abord déclarer la dépendance de compilation suivante dans votre fichier build.gradle:

   Android {
       useLibrary 'org.Apache.http.legacy'
   }

Dans mon cas Android Studio se plaignait toujours de ne pas avoir pu trouver ces classes, mais l'application a été créée et exécutée.

Cependant, la page vous recommande de passer à HttpURLConnection .

57
benvd

Selon les modifications apportées à l'API 22-23 diff, les packages org.Apache.http. * Ont été supprimés à partir de Android 6.0 (Marshmallow) API Level 23.

http://developer.Android.com/sdk/api_diff/23/changes.html

via: http://Android-developers.blogspot.co.uk/2015/08/m-developer-preview-3-final-sdk.html

1
Kosso