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?
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
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