格子 - 安卓 - httpclient库版本不匹配

时间:2015-04-27 04:29:52

标签: java android apache-httpclient-4.x apache-httpcomponents plaid

我在我的Android应用程序中使用plaid-java:0.2.10作为依赖项。

Plaid使用org.apache.httpcomponents:httpclient:4.4.1作为依赖项。并且,android还包含与依赖项相同的库。

然而,他们的版本不匹配。我使用gradle构建时出现以下错误,

依赖org.apache.httpcomponents:httpclient:4.3.3因调试而被忽略,因为它可能与Android提供的内部版本冲突。

我想使用格子花呢提供的那个。

我如何让这个工作?有没有办法忽略android提供的库?

3 个答案:

答案 0 :(得分:1)

  

问题 - 是否无法忽略谷歌提供的apachehttpclient库并使用更新版本的库?

不是。 Apache HttpClient Android Port可以与平台附带的旧版本一起部署。

  

为什么这不可能?

据信是出于安全原因。

答案 1 :(得分:0)

好的,所以我在Apache网站上找到了这个,

谷歌Android 1.0发布时带有Apache HttpClient的BETA前快照。为了配合第一个Android版本,Apache HttpClient 4.0 API必须过早冻结,而许多接口和内部结构仍未完全解决。随着Apache HttpClient 4.0的日趋成熟,该项目期待Google将最新的代码改进整合到他们的代码树中。不幸的是没有发生。 Android附带的Apache HttpClient版本实际上已成为一个分支。最终谷歌决定停止进一步开发他们的分支,同时拒绝升级到Apache HttpClient的股票版本,理由是兼容性问题是这样决定的原因。因此,那些希望在Android上继续使用Apache HttpClient API的Android开发人员无法利用更新的功能,性能改进和错误修复。

问题 - 是否无法忽略谷歌提供的apachehttpclient库并使用更新版本的库?为什么这不可能?

答案 2 :(得分:0)

您需要在app app模块的build.gradle文件的dependencies部分中提供以下代码段。

  configurations {
        compile.exclude group: "org.apache.httpcomponents", module: "httpclient"
    }