HTTP-соединение Apache с Android 6.0 (Marshmallow)
Есть ли способ включить библиотеку Apache непосредственно в Gradle, чтобы он работал с Android 6.0?
Я попытался включить такие библиотеки:
compile 'org.apache.httpcomponents:httpcore:4.4.1'
compile 'org.apache.httpcomponents:httpclient:4.5'
И Android Studio не удалось найти следующий импорт:
import org.apache.http.auth.AuthenticationException;
import org.apache.http.auth.Credentials;
import org.apache.http.auth.MalformedChallengeException;
import org.apache.http.auth.UsernamePasswordCredentials;
import org.apache.http.impl.auth.DigestScheme;
Ответы
Ответ 1
Эта страница обсуждает удаление HTTP-классов Apache, а также предлагает обходной путь:
Чтобы продолжить использование API-интерфейсов Apache HTTP, вы должны сначала объявить следующую зависимость времени компиляции в файле build.gradle:
android {
useLibrary 'org.apache.http.legacy'
}
В моем случае Android Studio все еще жаловалась, что не может найти эти классы, но приложение действительно создало и запустило.
Однако страница рекомендует вам перейти на HttpURLConnection.
Ответ 2
В соответствии с API 22-23 diff изменяется, пакеты org.apache.http. * были удалены с API-интерфейса Android 6.0 (Marshmallow) уровня 23.
http://developer.android.com/sdk/api_diff/23/changes.html
через: http://android-developers.blogspot.co.uk/2015/08/m-developer-preview-3-final-sdk.html