与Android 6.0的Apache HTTP连接(Marshmallow)

时间:2015-08-18 11:23:01

标签: android android-gradle apache-httpclient-4.x android-6.0-marshmallow

是否有任何方法可以直接在Gradle中包含Apache库以使其与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;

2 个答案:

答案 0 :(得分:57)

This page讨论了删除Apache HTTP类的问题,并提出了一个解决方法:

  

要继续使用Apache HTTP API,必须首先在build.gradle文件中声明以下编译时依赖项:

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

在我的情况下,Android Studio仍然抱怨它无法找到这些类,但应用程序确实构建并运行。

该页面的确建议您转到HttpURLConnection

答案 1 :(得分:1)

根据API 22-23 diff更改,自Android 6.0(Marshmallow)API Level 23起,org.apache.http。*包已被删除。

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