HttpClient de ne pas importer dans Android Studio
J'ai une classe simple écrit dans Android Studio:
package com.mysite.myapp;
import org.apache.http.client.HttpClient;
public class Whatever {
public void headBangingAgainstTheWallExample () {
HttpClient client = new DefaultHttpClient();
}
}
et à partir de ce que j'obtient l'erreur de compilation:
Cannot resolve symbol HttpClient
N'est pas HttpClient
inclus dans Android Studio SDK? Même si elle n'est pas, je l'ai ajouté à mon Gradle accumulation de ce genre:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:23.0.0'
compile 'org.apache.httpcomponents:httpclient:4.5'
}
Avec ou sans la dernière ligne de compilation, l'erreur est la même. Ce qui me manque?
- Essayez d'utiliser
AndroidHttpClient
si vous le pouvez. HttpClient talons sont en effet contenue à l'intérieur de l'android jar, il n'y a pas besoin de s'y référer explicitement. Notez que la version android de httpclient est probablement 4.1.1. Essayez d'utiliser une version plus récente sur le haut de, qui est généralement d'avoir des ennuis (lire: ne fonctionne pas, parce que le firmware du chargeur de classe gagne toujours).
Vous devez vous connecter pour publier un commentaire.
HttpClient
n'est plus supportée dans sdk 23. Vous devez utiliserURLConnection
ou revenir à sdk 22 (compile 'com.android.support:appcompat-v7:22.2.0'
)Si vous avez besoin d'sdk 23, ajoutez ceci à votre gradle:
Vous pouvez également essayer de télécharger et d'inclure HttpClient jar directement dans votre projet ou de l'utilisation OkHttp au lieu
android { useLibrary 'org.apache.http.legacy' }
[quand u ajouter ce] [1] 'org.apache.http android-studio ont encore des conseils: "Ne peut pas résoudre le symbole' [2] ce faire android-studio(avec sdk23) peut construire. bien qu'il y ait des trucs(Ne peut pas résoudre symbole) [3] si u add jar,il n'conseils,peut construire,mais!!!ne peut pas s'exécuter parce qu'il a deux copie", org.apache.http'Volley
de la bibliothèque, prenez note que ce gradle ligne de plus qui devrait aller dans le gradle fichier de la bibliothèque, et non pas votre application. Fonctionne parfaitement! Merci une tonne!HttpClient était dépréciée de l'API de Niveau 22 et retiré de l'API de Niveau 23. Vous pouvez toujours utiliser l'API de Niveau 23 et au-delà, si vous devez, cependant, il est préférable de se déplacer à la prise en charge des méthodes pour gérer HTTP. Donc, si vous compilez avec les 23, ajoutez ceci dans votre construction.gradle:
android { useLibrary 'org.apache.http.legacy' }
[quand u ajouter ce] [1] 'org.apache.http android-studio ont encore des conseils: "Ne peut pas résoudre le symbole' [2] ce faire android-studio(avec sdk23) peut construire. bien qu'il y ait des trucs(Ne peut pas résoudre symbole) [3] si u add jar,il n'conseils,peut construire,mais!!!ne peut pas s'exécuter parce qu'il a deux copie", org.apache.http'TejaDroid la réponse dans le lien ci-dessous m'a aidé . Ne pouvez pas importer des org.apache.http.HttpResponse dans Android Studio
Pour l'utilisation d'Apache HTTP pour SDK Niveau 23:
Haut niveau de construction.gradle - /build.gradle
De Notification d'Android studio, gradle mise à jour:
Module de build spécifique.gradle - /app/build.gradle
Essayer cette
a fonctionné pour moi
Ajouter cette dépendance de votre construction.gradle Fichier
1 - téléchargement Apache fichiers jar (de cette réponse) 4.5.zip fichier de:
https://hc.apache.org/downloads.cgi?Preferred=http%3A%2F%2Fapache.arvixe.com%2F
2 - ouvrez le zip copiez les fichiers jar dans votre dossier libs. Vous pouvez le trouver si vous allez vers le haut de votre projet où il est dit "Android", vous trouverez une liste quand u cliquez sur elle. Donc,
,Puis mettre en pots là.
3 - Dans la construction.gradle (Module: app) ajouter
dans
4 - Dans la classe java ajouter ces importations:
HttpClient n'est plus supportée dans sdk 23. Android 6.0 (API Level 23) la libération supprime la prise en charge pour le client HTTP Apache.
Vous devez utiliser
et également ajouter de l'extrait de code ci-dessous dans votre dépendance :
//http solution finale pour le web-service (y compris transfert de fichier)
Il sera également vous aider pendant que vous utilisez les MultipartEntity pour de téléchargement de Fichiers.
de l'API de 22 ils deviennent obsolètes et de l'API de 23 ils ont enlevé complètement, une solution simple si vous n'avez pas besoin de toute la fantaisie de la nouvelle ajouts est d'utiliser simplement le .les fichiers jar de apache qui ont été intégrées avant API 22, mais comme séparés .les fichiers jar:
Vous pouvez simplement ajouter ceci à Gradle dépendances:
HttpGet
. Pour cela, j'ai utilisécompile 'org.jbundle.util.osgi.wrapped:org.jbundle.util.osgi.wrapped.org.apache.http.client:4.1.2'
Android 6.0 (API Level 23) la libération supprime la prise en charge pour le client HTTP Apache. Par conséquent, vous ne pouvez pas utiliser cette bibliothèque directement dans l'API 23. Mais il y a un moyen de l'utiliser. Ajouter useLibrary ‘org.apache.http.héritage " dans votre construction.gradle fichier comme ci-dessous-
Si cela ne fonctionne pas, vous pouvez appliquer la suivante hack-
– Copie org.apache.http.legacy.jar qui est dans /plates-formes/android-23/option chemin d'accès de votre SDK Android répertoire de votre projet app/dossier libs.
– Ajoutez maintenant compiler des fichiers(‘libs/org.apache.http.legacy.jar’) à l'intérieur de dépendances{} de la section de construire.gradle fichier.
Si vous souhaitez importer une classe comme :
Vous pouvez ajouter la ligne suivante dans la construction.gradle (Gradle dépendances)
ApacheHttp Client est supprimé dans v23 sdk. Vous pouvez utiliser HttpURLConnection ou de tiers Http Client comme OkHttp.
ref :
https://developer.android.com/preview/behavior-changes.html#behavior-apache-http-client
HttpUrlConnection
est en fait encouragé au lieu de HttpClientHttpClient n'est pas pris en charge dans le sdk 23 et 23+.
Si vous avez besoin d'utiliser dans le sdk 23, ajouter le code ci-dessous à votre gradle:
Son travail pour moi. Espérons utile pour vous.
Si vous avez besoin d'sdk 23, ajoutez ceci à votre gradle:
Simplement utiliser ce :-
Vous devez ajouter une ligne
en construire.gradle(Module: app), par exemple
Qui l'API cible avez-vous dans votre projet?
AndroidHttpClient
est seulement pour les API de Niveau 8 <.et s'il vous plaît jeter un oeil sur ici
profiter de votre code:)
Comme mentionné avant,
org.apache.http.client.HttpClient
n'est plus supportée dans:SDK (niveau API) n ° 23.
Vous devez utiliser
java.net.HttpURLConnection
.Si vous voulez faire de votre code (et la vie) plus facile lors de l'utilisation de
HttpURLConnection
, voici uneWrapper
de cette classe qui vous permettra de faire des opérations simples avecGET
,POST
etPUT
à l'aide deJSON
, comme par exemple, faire unHTTP PUT
.Sentir libre de l'utiliser.
Coller vos .le fichier jar dans le "dossier libs" dans votre projet. Puis dans gradle ajouter cette ligne dans votre construction.gradle(Module:app)
Ajouter ces deux lignes de moins de dépendances
puis
sous android
Erreur:(30, 0) Gradle DSL méthode ne trouve pas: 'classpath()'
Causes possibles:
Mise à niveau de plugin pour la version 2.3.3 et de synchronisation projet
Ouvrir Gradle fichier wrapper
Appliquer plugin Gradle
Je pense que selon la Android Studio version que vous avez, il est important de mettre à jour votre android studio, j'étais en train de devenir frustré trop la suite de chacun des conseils, mais pas de chance, jusqu'à ce que j'ai dû mettre à jour ma version d'android, passant de 1,3 à 1,5, les erreurs ont disparu comme par magie.