HttpClient nie będzie'importowany w Android Studio

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?

Rozwiązanie

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

Komentarze (15)

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

Komentarze (1)

Który cel API masz w swoim projekcie? AndroidHttpClientjest tylko dla API Level 8

Komentarze (0)