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;

comment
попробуй почистить и восстановить   -  person Murtaza Khursheed Hussain    schedule 18.08.2015


Ответы (2)


На этой странице обсуждается удаление HTTP-классов Apache и предлагается обходной путь:

Чтобы продолжить использование Apache HTTP API, вы должны сначала объявить следующую зависимость времени компиляции в файле build.gradle:

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

В моем случае Android Studio по-прежнему жаловалась, что не может найти эти классы, но приложение создавалось и запускалось.

Однако на странице рекомендуется перейти на HttpURLConnection.

person benvd    schedule 18.08.2015
comment
@Hrk, но гораздо лучше обновить свой код до последних стандартов Android. - person AndroidGeek; 19.08.2016
comment
@Nepster Попробуйте сделать дайджест Http через okhttp с последним стандартом Android, все еще ожидая хорошей реализации :( - person Hrk; 15.11.2016

В соответствии с изменениями различий API 22-23 пакеты org.apache.http.* были удалены, начиная с Android 6.0 (Marshmallow) API уровня 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

person Kosso    schedule 18.08.2015