Tengo una clase simple escrita en Android Studio:
package com.mysite.myapp;
import org.apache.http.client.HttpClient;
public class Whatever {
public void headBangingAgainstTheWallExample () {
HttpClient client = new DefaultHttpClient();
}
}
y a partir de ella obtengo el siguiente error en tiempo de compilación:
No se puede resolver el símbolo HttpClient
.
¿No se incluye HttpClient
en el SDK de Android Studio? Aunque no lo esté, lo he añadido a mi build de Gradle así:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:23.0.0'
compile 'org.apache.httpcomponents:httpclient:4.5'
}
Con o sin la última línea de compilación, el error es el mismo. ¿Qué me falta?
HttpClient
ya no está soportado en el sdk 23. Tienes que usar URLConnection
o hacer un downgrade al sdk 22 (compile 'com.android.support:appcompat-v7:22.2.0'
)
Si necesitas el sdk 23, añade esto a tu gradle:
android {
useLibrary 'org.apache.http.legacy'
}
También puede intentar descargar e incluir HttpClient jar directamente en su proyecto o utilizar OkHttp en su lugar
El cliente ApacheHttp ha sido eliminado en la v23 del sdk. Puedes usar HttpURLConnection o un cliente Http de terceros como OkHttp.
ref : https://developer.android.com/preview/behavior-changes.html#behavior-apache-http-client