0

我在我的 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提供的库?

4

3 回答 3

1

问题 - 是否可以忽略 google 提供的 apachehttpclient 库并使用更新版本的库来代替?

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

为什么这不可能?

据信是出于安全原因。

于 2015-04-27T13:08:06.567 回答
0

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

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

问题 - 是否可以忽略 google 提供的 apachehttpclient 库并使用更新版本的库来代替?为什么这不可能?

于 2015-04-27T05:23:57.060 回答
0

您需要在应用模块的 build.gradle 文件的依赖项部分中提供以下代码片段。

  configurations {
        compile.exclude group: "org.apache.httpcomponents", module: "httpclient"
    }
于 2016-07-04T09:25:26.850 回答