Apache HTTP connection with Android 6.0 (Marshmallow)
Solution 1
This page discusses the removal of the Apache HTTP classes, and it suggests a workaround as well:
To continue using the Apache HTTP APIs, you must first declare the following compile-time dependency in your build.gradle file:
android { useLibrary 'org.apache.http.legacy' }
In my case Android Studio still complained that it couldn't find these classes, but the app did build and run.
The page does recommend you move to HttpURLConnection, though.
Solution 2
According to the API 22-23 diff changes, the org.apache.http.* packages have been removed as of Android 6.0 (Marshmallow) API Level 23.
http://developer.android.com/sdk/api_diff/23/changes.html
via : http://android-developers.blogspot.co.uk/2015/08/m-developer-preview-3-final-sdk.html
Comments
-
Hrk almost 2 years
Is there is any way to include the Apache library directly in Gradle to make it work with Android 6.0 ?
I've tried to include the libraries like that:
compile 'org.apache.httpcomponents:httpcore:4.4.1' compile 'org.apache.httpcomponents:httpclient:4.5'
And Android Studio couldn't manage to find the following import:
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;