执行时: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但我还没有正确理解我必须做什么来解决这个问题。谢谢
最佳答案
不幸的是,Android 内部 httpcore 和外部 httpasyncclient 库存在不兼容问题。 Android 依赖于旧版本的 httpcore。即使您使用较新版本的应用程序导出应用程序,由于相同的包,Android 仍然使用内部应用程序。
所以可能的解决方案是:
- 使用 Maven Shade 插件将 httpasyncclient 的所有类及其依赖项重新定位到另一个包结构,并将其与您的应用程序一起导出。
- 使用等效库,例如 android-async-http
关于java - Apache HttpAsyncClient 抛出 NoSuchMethodError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13665635/