Mam prostą klasę napisaną w Android Studio:
package com.mysite.myapp;
import org.apache.http.client.HttpClient;
public class Whatever {
public void headBangingAgainstTheWallExample () {
HttpClient client = new DefaultHttpClient();
}
}
i od tego dostaję następujący błąd czasu kompilacji:
Cannot resolve symbol HttpClient
.
Czy HttpClient
nie jest zawarty w Android Studio SDK? Nawet jeśli nie jest, dodałem go do mojej kompilacji Gradle w ten sposób:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:23.0.0'
compile 'org.apache.httpcomponents:httpclient:4.5'
}
Z lub bez ostatniej linii kompilacji, błąd jest taki sam. Czego mi brakuje?
HttpClient
nie jest już wspierany w sdk 23. Musisz użyć URLConnection
lub zrobić downgrade do sdk 22 (compile 'com.android.support:appcompat-v7:22.2.0'
).
Jeśli potrzebujesz sdk 23, dodaj to do swojego gradle:
android {
useLibrary 'org.apache.http.legacy'
}
Możesz również spróbować pobrać i dołączyć HttpClient jar bezpośrednio do swojego projektu lub użyć OkHttp zamiast tego
Klient ApacheHttp został usunięty w v23 sdk. Możesz użyć HttpURLConnection lub klienta Http innej firmy jak OkHttp.
ref : https://developer.android.com/preview/behavior-changes.html#behavior-apache-http-client