5

有没有人尝试在 Android 上使用更新版本的 Apache HttpClient?Android 使用的 HttpClient 中有一个烦人的错误,我想知道我是否会在尝试使用我的应用程序重新分发 HttpClient 4.1 时遇到问题。

4

5 回答 5

6

我创建了一个脚本来将库存 HttpClient 版本转换为 Android 库项目。这些包被重命名,这样就不会混淆使用哪些类。

ThreadSafeClientConnManager 和 Scheme 也可以正常工作。

看看:httpclientandroidlib

于 2011-08-16T19:31:51.047 回答
2

以防万一有人感兴趣——我用 Apache HttpClient 4.01 重建了我的应用程序,一切似乎都运行良好。该应用程序仅增长了 100kB。

于 2010-08-27T17:03:38.507 回答
2

这看起来不是一个好主意,尤其是在较新版本的 Client 中没有更改包和类名的情况下。您很可能无法预测使用哪个类(旧的或新的)。

于 2010-08-26T17:34:51.047 回答
1

您可以在maven 存储库中找到 apache HttpClient的官方android 端口(或查找“httpclient-android”)。

可悲的是,Android 附带了一个内置的 apache HttpClient 分支,它被困在 4.0 版中。

于 2015-06-08T23:36:13.730 回答
0

在我开始使用 ThreadSafeClientConnManager 和 Scheme 之前,我一直在运行 4.1,这会产生一些令人讨厌的运行时错误。

ERROR/dalvikvm(1077): Could not find method org.apache.http.conn.scheme.Scheme.<init>, referenced from method com.example.MyActivity.download
WARN/dalvikvm(1077): VFY: unable to resolve direct method 3290: Lorg/apache/http/conn/scheme/Scheme;.<init> (Ljava/lang/String;ILorg/apache/http/conn/scheme/SchemeSocketFactory;)V
WARN/dalvikvm(1077): VFY:  rejecting opcode 0x70 at 0x0035

我怀疑使用了具有不同构造函数的 Android API 中的旧方案。

于 2011-04-27T19:54:59.033 回答