Ho una semplice classe scritta in Android Studio:
package com.mysite.myapp;
import org.apache.http.client.HttpClient;
public class Whatever {
public void headBangingAgainstTheWallExample () {
HttpClient client = new DefaultHttpClient();
}
}
e da questo ottengo il seguente errore di compilazione:
Impossibile risolvere il simbolo HttpClient
Non è HttpClient
incluso nell'SDK di Android Studio? Anche se non lo è, l'ho aggiunto alla mia build di Gradle in questo modo:
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 senza l'ultima riga di compilazione, l'errore è lo stesso. Cosa mi manca?
HttpClient
non è più supportato in sdk 23. Devi usare URLConnection
o fare il downgrade a sdk 22 (compile 'com.android.support:appcompat-v7:22.2.0'
)
Se hai bisogno di sdk 23, aggiungi questo al tuo gradle:
android {
useLibrary 'org.apache.http.legacy'
}
Puoi anche provare a scaricare e includere HttpClient jar direttamente nel tuo progetto o usare invece OkHttp
Il client ApacheHttp è stato rimosso nella sdk v23. Potete usare HttpURLConnection o un client Http di terze parti come OkHttp.
rif: https://developer.android.com/preview/behavior-changes.html#behavior-apache-http-client
.