我在我的Android应用程序中使用plaid-java:0.2.10作为依赖项。
Plaid使用org.apache.httpcomponent:httpclient:4.4.1作为依赖项。而且,android还包含了相同的库作为依赖项。
然而,它们的版本存在不匹配。当我使用gradle构建时,我得到了以下错误,
依赖org.apache.http组件:httpclient:4.3.3调试时忽略,可能与Android提供的内部版本冲突。
我想用plaid提供的那个。
我怎么才能让它工作呢?有没有办法忽略android提供的库?
发布于 2015-04-27 21:08:07
问题--有没有可能忽略谷歌提供的apachehttpclient库,而使用更新版本的库呢?
事实并非如此。Apache HttpClient Android Port可以与平台附带的旧版本一起部署。
为什么这是不可能的?
这被认为是出于安全原因。
发布于 2015-04-27 13:23:57
我在阿帕奇的网站上找到了这个,
Google Android1.0发布时带有Apache HttpClient的预测试版快照。为了配合第一个安卓版本,ApacheApache4.0API不得不过早冻结,而许多接口和内部结构仍然没有完全解决。随着Apache 4.0的成熟,该项目期望HttpClient将最新的代码改进整合到他们的代码树中。不幸的是,这并没有发生。Android附带的Apache HttpClient版本实际上已经变成了一个分支。最终,谷歌决定停止他们的fork的进一步开发,同时拒绝升级到Apache HttpClient的库存版本,理由是兼容性问题是做出这一决定的原因。因此,那些想要继续在安卓上使用Apache HttpClient APIs的安卓开发人员无法利用更新的功能、性能改进和错误修复。
问--有没有可能忽略google提供的apachehttpclient库,转而使用更新版本的库?为什么这是不可能的?
发布于 2016-07-04 17:25:27
您需要在应用程序模块的build.gradle文件的依赖项部分中提供以下代码片段。
configurations {
compile.exclude group: "org.apache.httpcomponents", module: "httpclient"
}https://stackoverflow.com/questions/29887228
复制相似问题