Apache HTTP връзка с 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 и предлага също и заобиколно решение:

За да продължите да използвате API на Apache HTTP, първо трябва да декларирате следната зависимост по време на компилиране във вашия файл 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 digest през okhttp с най-новия стандарт за android, все още чака добро внедряване :( - person Hrk; 15.11.2016

Съгласно промените в разликата в API 22-23, пакетите org.apache.http.* са премахнати от Android 6.0 (Marshmallow) ниво 23 на API.

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