6

ADT v21.0.0 で Android アプリを作成しています。このアプリケーションは、jar にコンパイルした protobuf ライブラリを使用する必要があります。

この jar と protobuf-java-2.4.1.jar を libs/ フォルダーに配置すると、Eclipse はビルド時にそれを認識しますが、Android エミュレーターでアプリケーションを実行しようとすると、NoClassDefFoundError 例外が発生します。 protobuf コンパイラによって生成された、自動生成されたカスタム クラスの 1 つをインスタンス化します。

libs/ フォルダーの命名に関する多くのヒントを見てきました (以前の ADT の更新では、/lib フォルダーを /libs にする必要があるため、これが壊れていたようです)。また、「Java ビルド パス」から .jars を明示的に追加することもできます。設定ウィンドウ (および [注文とエクスポート] ペインで jar を確認します)。

しかし、これらのどれも役に立ちませんでした.protobufクラスが実行時に認識されないようにする、より根本的な何かがあるのではないかと思っています.

注: Eclipse で標準の Java アプリケーションを作成すると、proto クラスを問題なく使用できます。これは、Android アプリケーションを実行している場合のみの問題です。

4

1 に答える 1

0

あなたのプロジェクトは、自動生成されたjarが依存するいくつかのライブラリをインポートしているようです..そして、デバイスやエミュレーターにはありません..

于 2013-01-19T09:42:52.203 に答える