0

このような問題がたくさんあることは知っていますが、さまざまな解決策を試してみましたが、うまくいきませんでした。

Mac OSX 10.6.8 で Eclipse 3.7 を実行しています。私は以前、この SDK で Android アプリケーションに取り組み、それらをコンパイルしました。しかし、私の最新のプロジェクト(非常に基本的な状態にあるときにAndroid仮想デバイスを使用してコンパイルして実行するようにしました)で、実行するように指示すると(仮想デバイスでテストするため)、このエラーが発生しますメッセージ (プロジェクトのどこにも小さな赤い X やその他の検出可能なエラーはありません):

[2012-09-01 18:13:48 - RadarGun] 「java/andythompson/radargun/BuildConfig.class」を処理する Dx のトラブル:

コア ライブラリを構築しない場合のコア クラス (java.* または javax.*) の不適切な使用または誤った使用。

これは多くの場合、IDE (Eclipse など) を使用しているときに、コア ライブラリ ファイルをアプリケーションのプロジェクトに誤って含めたことが原因です。コア クラスを意図的に定義していないことが確実な場合は、これが何が起こっているかの最も可能性の高い説明です。

ただし、実際にはコア名前空間でクラスを定義しようとしている可能性があります。そのソースは、たとえば Android 以外の仮想マシン プロジェクトから取得した可能性があります。これは確実に機能しません。少なくとも、アプリとプラットフォームの将来のバージョンとの互換性が損なわれます。また、合法性が疑わしいこともよくあります。

アプリケーションをコンパイルするのではなく、完全な仮想マシン ディストリビューションを作成する一部としてのみ適切なコア ライブラリをビルドする場合は、「--core-library」オプションを使用してこのエラー メッセージを抑制します。

「--core-library」を使用しても実際にはアプリケーションをビルドしている場合は、アプリケーションがまだビルドまたは実行に失敗する可能性があることに注意してください。たとえば、オペレーティング システムをアップグレードすると、アプリケーションが機能しなくなったことに気付いた顧客が怒っていることに備えてください。この問題の責任はあなたにあります。

たまたまコア パッケージにあるコードを合法的に使用している場合、最も簡単で安全な代替手段は、そのコードを再パッケージ化することです。つまり、問題のクラスを独自のパッケージ名前空間に移動します。これは、コア システム クラスと競合しないことを意味します。JarJar は、この取り組みに役立つツールです。これができないとわかった場合、それはあなたがたどっている道が最終的に痛み、苦しみ、悲しみ、嘆きにつながることを示しています.

[2012-09-01 18:13:48 - RadarGun] Dx 1 エラー。中止 [2012-09-01 18:13:48 - RadarGun] エラー 1 で失敗した Dalvik 形式への変換

-------------------------- (エラーメッセージの終わり)------------------ -----

プロジェクト全体->プロパティ->ビルドパス->作業中のものを除くすべてをプロジェクト->クリーン部分と一緒に削除してから試しました。

他の提案はありますか?ありがとう

4

1 に答える 1

-1

他の提案はありますか?

エラーメッセージ、コードが使用するはずのないjava.*またはクラスを使用していることを示しています。javax.*そのため、コードをチェックして、問題のあるクラスを見つけてください。

于 2012-09-02T01:39:41.963 に答える