0

私は Eclipse 用の ADT バージョン 21 プラグインを使用しており、Android 4.2 プラットフォーム用にプログラミングしています。私はもともと Java クライアント/サーバー アプリケーションを作成しましたが、その中で作成したクラスのいくつかを、現在作成中の Android アプリケーションに使用したいと考えています。Java クラス ファイルを JAR ファイルにエクスポートし、その JAR ファイルをlibsAndroid アプリケーションのディレクトリに配置しようとしましたが、Nexus 4 でアプリケーションを実行しようとすると、aNoClassDefFoundErrorがスローされます。SO でいくつかの回答を検索し、[プロパティ] ウィンドウの [注文とエクスポート] タブに JAR ファイルを含める (リストの一番上に配置する) など、いくつかの提案を試みましたが、行き詰まりました。Eclipse は Android アプリケーションを正常にコンパイルしますが、デバイスでアプリケーションを実行できません。

この質問は以前に尋ねられたことを知っており、何人かのユーザーがこの同じ問題を経験しています。すべての提案を歓迎します。(Android アプリケーション開発について学び始めたばかりです。) ありがとうございます。

編集:コンソール出力でこれらの行に気付きました。何か案は?

[2012-11-24 01:26:26 - HomePage] Dx bad class file magic (cafebabe) or version (0033.0000)
...while parsing org/nihongo/common/db/Commands.class
...while processing org/nihongo/common/db/Commands.class

編集: Java 6 の代わりに Java 7 を使用している可能性があると思います。ここを参照してください。

4

2 に答える 2

6

Java の NoClassDefFoundError は、Java 仮想マシンが、コンパイル時に使用可能だった特定のクラスを実行時に見つけられない場合に発生します。

このエラーは、Google API (マップなど) を使用するアプリを作成し、それを Android API をターゲットとするデバイスで実行した場合にも生成されます。

于 2012-11-24T12:07:23.113 に答える
1

クライアント/サーバー アプリケーションでコンパイラを Java 7 から Java 6 に切り替えました。必要なクラスを JAR ファイルにエクスポートし、それを Android アプリケーションに含めたところ、動作するようになりました。

なので、Android 4.2 でも Java 6 しかサポートされていないと思います。

于 2012-11-24T11:56:31.013 に答える