5

Eclipse の Android アプリケーションで OkHttp 2.0.0 jar を使用しています。OkHttp は Okio ライブラリに依存するようになったため、Okio 1.0.0 jar もプロジェクトに追加しました。プロジェクトはコンパイル エラーなしで正常にコンパイルされますが、Android デバイスで実行するNoClassDefFoundErrorと、OkHttp ライブラリ クラスに関連するすべてが得られます。

プロジェクトの libs フォルダーにすべての jar を配置し、それらをビルド パスに追加し、[エクスポートと注文] タブでそれらを確認しようとしましたが、それでも機能しません。

okhttp は okio に依存しているため、両方の jar を追加するだけで問題なく動作するか、別のことをしなければならないかを知りたかったのです。

ボレージャーも試してみましたが、問題なく問題なく動作します。誰もがここで私を助けることができます.問題は今のところ3〜4日です.

更新 Androidスタジオも試し、ビルド依存関係にokhttpライブラリを追加しましたが、まだ機能していません。

4

3 に答える 3

1

OkHttp 2.0.0 では、言語レベルが Java 7 に更新されました。

ここで変更ログを参照してください https://github.com/square/okhttp/blob/master/CHANGELOG.md

この問題を修正するには、Java 7 に更新する必要があります。

また、この時点で、ターゲット SDK を kitkat (API 19) に変更し、Android が Java 7 で適切に動作するようにビルド ツールなどを更新する必要がある場合もあります。


編集: okHttp 2.0.0にアップグレードしてantでビルドしたときに同じ問題が発生しました。ビルドは成功したように見えましたが、NoClassDefFoundError が発生しました。ビルドログを調べてみると、たくさんのサイレントエラーがありました

最初はjavacから来ました

warning: com/squareup/okhttp/<classname>.class major version 51 is newer than 50, the highest major version supported by this compiler.

そしてdexからの2番目

[dx] trouble processing:
[dx] bad class file magic (cafebabe) or version (0033.0000)
[dx] ...while parsing com/squareup/okhttp/<classname>.class
[dx] ...while processing com/squareup/okhttp/<classname>.class
于 2014-07-07T12:42:04.037 に答える
0

Go to Project/Properties/Java Build Path/Order and Export-- Android Dependencies とサポート ライブラリを使用する場合は、その前にチェックがあることを確認してください。すべてのチェックボックスをマークし、[適用] をクリックしてプロジェクトを消去します。

于 2014-07-07T12:47:15.387 に答える