Eu tenho uma aula simples escrita no Android Studio:
package com.mysite.myapp;
import org.apache.http.client.HttpClient;
public class Whatever {
public void headBangingAgainstTheWallExample () {
HttpClient client = new DefaultHttpClient();
}
}
e com isto recebo o seguinte erro de tempo de compilação:
"Não é possível resolver o símbolo HttpClient".
O HttpClient
não está incluído no SDK do Android Studio? Mesmo que não esteja, eu adicionei-o ao meu Gradle build desta forma:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:23.0.0'
compile 'org.apache.httpcomponents:httpclient:4.5'
}
Com ou sem a última linha de compilação, o erro é o mesmo. O que estou a perder?
O HttpClient
já não é suportado no sdk 23. Você tem que utilizar URLConnection
ou baixar para sdk 22 (compile 'com.android.support:appcompat-v7:22.2.0'
)
Se precisares do sdk 23, adiciona isto ao teu graduado:
android {
useLibrary 'org.apache.http.legacy'
}
Você também pode tentar baixar e incluir HttpClient jar diretamente no seu projeto ou usar OkHttp em vez disso
O Cliente ApacheHttp é removido na v23 sdk. Você pode usar o HttpURLConnection ou o cliente Http de terceiros como OkHttp.
ref : https://developer.android.com/preview/behavior-changes.html#behavior-apache-http-client