2

执行时:Future<HttpResponse> future = myHttpAsyncClient.execute(post, null); 我得到这个:

12-02 02:22:03.567: W/dalvikvm(6392): threadid=13: thread exiting with uncaught exception (group=0x40b5c930)

...

Caused by: java.lang.NoSuchMethodError: org.apache.http.client.utils.URIUtils.extractHost
12-02 02:22:03.606: E/AndroidRuntime(6392):     at org.apache.http.impl.nio.client.AbstractHttpAsyncClient.determineTarget(AbstractHttpAsyncClient.java:594)

...

我发现了这个问题:Apache HttpAsyncClient - NoSuchMethodError - URIUtils.extractHost但我还没有正确理解我必须做什么来解决这个问题。谢谢

4

1 回答 1

3

不幸的是,android 内部 httpcore 和外部 httpasyncclient 库存在不兼容问题。Android 依赖于旧版本的 httpcore。即使您使用较新版本的应用程序导出应用程序,由于相同的包,android 仍然使用内部应用程序。

所以可能的解决方案是:

  • 使用 maven shade 插件将 httpasyncclient 的所有类及其依赖项重新定位到另一个包结构,并将其与您的应用程序一起导出。
  • 使用等效库,例如android-async-http
于 2012-12-03T01:06:08.053 回答