Android API 23 - HttpClient 4.X重新打包

时间:2015-08-24 09:31:05

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

免责声明

  • 我知道我们不应再在Android上使用HttpClient了
  • 在API 23中,我们可以选择使用useLibrary 'org.apache.http.legacy'

我想继续使用HttpClient(我也基于它维护库和项目)但是,使用API​​ 23,这些类已经消失了。

好的没有使用useLibrary解决方法,但不能用于进一步开发(类别不自动完成,所有内容都显示为无效代码)

我们也可以选择使用HttpComponents提供的 HttpClient 4.3.5.1 的Android分支,然而它并没有提供Android在API上提供的类/标题/接口< 22,所以它编译,但我们仍然无法有效开发。

是否有完整的HttpClient库重新打包(有利的是甚至高于4.3的版本),可以进一步使用版本23的target / compile-Sdk?

我能找到的最新完整重新包装是使用版本4.3.2的https://code.google.com/p/httpclientandroidlib/

我还对HC JIRA问题https://issues.apache.org/jira/browse/HTTPCLIENT-1632

添加了评论

这种解决方法可能只在HttpClient 5.X发布之前才需要,因为它应该有完全不同的包名。

1 个答案:

答案 0 :(得分:4)

好吧,为了回答我自己的问题,我提出了一个项目,它会将HttpMime,HttpCore和HttpClient-Cache包中的HttpClient重新打包并构建到不同的命名空间中。

目前提供的版本为 4.3.3 (与ASF HC 4.3.3版本同步)

https://github.com/smarek/httpclient-android

它可以自定义,所以更改包/工件名称或版本,根据需要调整构建等等应该没问题。

它也在Maven Central上以标识符cz.msebera.android:httpclient:4.3.3发布,并且当前使用org.apache.http的所有代码导入都应该迁移(为了使用此库)到cz.msebera.android.httpclient