29

有什么方法可以将 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;
4

2 回答 2

57

此页面讨论了 Apache HTTP 类的删除,并提出了一种解决方法:

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

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

就我而言,Android Studio 仍然抱怨找不到这些类,但应用程序确实构建并运行了。

不过,该页面确实建议您移至HttpURLConnection

于 2015-08-18T14:37:46.177 回答
1

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

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

于 2015-08-18T13:36:10.017 回答