を構築していないとき、私は次のエラーを取得する(。javaの*またはjavaxの*。):無分別または誤った使用方法私は私のプロジェクトをきれいにするとコアライブラリ
[2011-10-05 13:47:53 - The Basics] Dx
trouble processing "java/nio/CharBuffer.class":
Ill-advised or mistaken usage of a core class (java.* or javax.*)
when not building a core library.
これがしばしばありますIDEを使用している場合( Eclipseなど)、アプリケーションのプロジェクトにコアライブラリファイル が誤って挿入されることがありました。 コアクラスを意図的に定義していないと確信できる場合は、 が何が起こっているのかが最もよく分かります。
しかし、実際には、 という名前の空間(たとえば、Android以外の仮想マシンプロジェクトの など)でクラスを定義しようとしている可能性があります。これはほとんど がうまく動作しません。少なくとも、今後のバージョンのプラットフォームとのアプリの互換性は、 の危険にさらされます。 それはしばしば疑わしい合法性でもあります。アプリケーションのコンパイルとは反対に、完全な仮想マシンに 分布の作成の一環としてのみ 適切です - - あなたが本当にコアライブラリを構築する場合
その後、 「--core-ライブラリ」を使用このエラーメッセージを抑制するオプション。
"--core-library"を使用しても、実際には アプリケーションをビルドしている場合は、アプリケーション がまだビルドまたは実行できないことに注意してください。たとえば、 システムがアップグレードされた後で、お客様の アプリケーションが機能しなくなることを発見した怒っている顧客のために、 を用意してください。あなたはこの問題のせいになるでしょう。
コアパッケージ内にあるコードを正当に使用している場合は、 コードを再パッケージするのが一番簡単な代替方法です。つまり、問題のクラスを独自のパッケージ名前空間 に移動します。これは、彼らがコアシステムクラスとの衝突で決して になることを意味します。 JarJarはこの努力の中で を助けるツールです。あなたがこれを行うことができないと分かった場合、あなたの道が最終的に になることを示す は、痛み、苦しみ、悲しみ、嘆きにつながります。
[2011-10-05 13:47:53 - The Basics] Dx 1 error; aborting
[2011-10-05 13:47:53 - The Basics] Conversion to Dalvik format failed with error 1
この回答をお寄せいただきありがとうございます... JUnitは私にエラーの原因となっていました。 – tantalum