java - Gradle重命名maven依赖包(HttpComponents, Android)

标签 java android maven gradle apache-httpclient-4.x

在 Android 上使用和选择发出 HTTP(S) 请求的方式是一个长期的痛苦。

虽然 Google 希望我们使用 HttpURLConnection,但有些人更喜欢使用 HttpClient。

有这个图书馆,https://code.google.com/p/httpclientandroidlib/带打包脚本。

我宁愿使用与 Android 构建环境集成度更高的东西。

是否有可能使用 Gradle 以与 httpclientandroidlib 相同的方式重新打包 Maven 依赖项(整个树,包括 httpclient、httpcomponents、httpmime 等)?

最好的方案是让 gradle 下载、重新打包并以同样透明的方式链接这些库。

渐变:

dependencies {
    compile 'org.apache.httpcomponents:httpclient:4.2.3'
    compile 'org.apache.httpcomponents:httpmime:4.2.3'
}

最佳答案

从 org.apache.http 到其他命名空间的简单重新打包有一个缺点,即呈现 HttpClient 与针对库存 API 编译的第 3 方库不兼容。有计划创建 HttpClient 4.3 的重新设计,专门用于与 4.0 BETA1 API 完全兼容的 Android,并且向后移植了大部分 4.3 功能。真的很遗憾,减轻 Android 的 HttpClient 分支损害的方法似乎是创建另一个分支。谢谢谷歌。

新信息
Apache HttpComponents 创建了仅适用于 Android 的 HttpClient 库的自旋,可在此处获得:https://hc.apache.org/httpcomponents-client-4.3.x/android-port.html

关于java - Gradle重命名maven依赖包(HttpComponents, Android),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19361128/

相关文章:

java - 如何配置Jenkinsfile并行构建maven模块?

java - Maven 次要版本 `x`

java - 如何在原始数据文件中使用 block 分隔符?

java - 在 JLayer 上方添加固定大小的 JPanel

java - 如何通过 BOT 的 Ajax 调用进行保护?

java - Jsoup getElementsByTag

Android 使用自定义字体将 HTML 文本显示为粗体

java - 如何禁用浏览器基本身份验证弹出窗口 - Angular 5 + Spring Security

Android Contacts Content Provider返回同一联系人的多个副本,联系人中没有重复的联系人

maven - 跳过 Maven 构建测试的结果是什么?