使用和选择在Android上发出HTTP(S)请求的方法是一个长期的痛苦。
虽然Google希望我们使用HttpURLConnection,但有些人更喜欢使用HttpClient。
这个库https://code.google.com/p/httpclientandroidlib/带有打包脚本。
我宁愿使用与Android构建环境更加集成的东西。
是否有可能使用Gradle以与httpclientandroidlib相同的方式重新打包Maven依赖(整棵树,包括httpclient,httpcomponents,httpmime,...)?
最好的方案是进行gradle下载,重新打包并以相同的透明方式链接这些库。
的gradle:
dependencies {
compile 'org.apache.httpcomponents:httpclient:4.2.3'
compile 'org.apache.httpcomponents:httpmime:4.2.3'
}
答案 0 :(得分:1)
从org.apache.http到其他名称空间的简单重新打包有一个缺点,即HttpClient与针对stock API编译的第三方库不兼容。有计划重新设计HttpClient 4.3,专门针对Android完全兼容4.0 BETA1 API,并且大多数4.3功能都是后端移植到它。真的很遗憾,减轻Android的HttpClient分支的损害的方式似乎是通过创建另一个分支。谢谢谷歌。
新信息
Apache HttpComponents仅为Android创建了HttpClient库的旋转,可在此处获取:https://hc.apache.org/httpcomponents-client-4.3.x/android-port.html