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シェードプラグインを使用して、httpasyncclientのすべてのクラスとその依存関係を別のパッケージ構造に再配置し、アプリケーションとともにエクスポートします。
  • android-async-httpなどの同等のライブラリを使用する
于 2012-12-03T01:06:08.053 に答える