HttpClient se ne uvozi v Android Studio

Imam preprost razred, napisan v programu Android Studio:

package com.mysite.myapp;

import org.apache.http.client.HttpClient;

public class Whatever {
    public void headBangingAgainstTheWallExample () {
        HttpClient client = new DefaultHttpClient();
    }
}

in iz njega dobim naslednjo napako v času sestavljanja:

Ne morem razrešiti simbola HttpClient

Ali ni HttpClient vključen v Android Studio SDK? Tudi če ni, sem ga dodal v sestavo Gradle na naslednji način:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:23.0.0'
    compile 'org.apache.httpcomponents:httpclient:4.5'
}

Z zadnjo vrstico za sestavljanje ali brez nje je napaka enaka. Kaj mi manjka?

Rešitev

HttpClient ni več podprt v sdk 23. Uporabiti morate URLConnection ali pa prenesti na sdk 22 (compile 'com.android.support:appcompat-v7:22.2.0')

Če potrebujete sdk 23, dodajte to v gradle:

android {
    useLibrary 'org.apache.http.legacy'
}

Prav tako lahko poskusite prenesti in vključiti HttpClient jar neposredno v svoj projekt ali namesto tega uporabite OkHttp

Komentarji (15)

Odjemalec ApacheHttp je odstranjen v sdk v23. Uporabite lahko povezavo HttpURLConnection ali odjemalca Http tretje osebe, kot je OkHttp.

sklic : https://developer.android.com/preview/behavior-changes.html#behavior-apache-http-client

Komentarji (1)

Kateri cilj API imate v projektu?AndroidHttpClient je samo za API Level 8

Komentarji (0)