2012-05-02 11 views
1

私はアンドロイドのアプリケーションをエクスポートしようとすると、私が手にこのエラーメッセージ..コアクラス(Javaの。*またはjavaxの。*) のAndroidの輸出エラー

[2012-05-02 14:34:07 - MyApplication] Dx 
    trouble processing "java/nio/CharBuffer.class": 

助言、病気や誤った使用方法コアライブラリを構築しません。

IDEを使用している場合( Eclipseなど)、アプリケーションのプロジェクトにコアライブラリファイル が誤って挿入されていることがよくあります。 コアクラスを意図的に定義していないと確信できる場合は、 が何が起こっているのかが最もよく分かります。

しかし、実際には、 という名前の空間(たとえば、Android以外の仮想マシンプロジェクトの など)でクラスを定義しようとしている可能性があります。これはほとんど がうまく動作しません。少なくとも、今後のバージョンのプラットフォームとのアプリの互換性は、 の危険にさらされます。 それはしばしば疑わしい合法性でもあります。アプリケーションのコンパイルとは反対に、完全な仮想マシンに 分布の作成の一環としてのみ 適切です - - あなたが本当にコアライブラリを構築する場合

その後、 「--core-ライブラリ」を使用このエラーメッセージを抑制するオプション。

"--core-library"を使用しても、実際には アプリケーションをビルドしている場合は、アプリケーション がまだビルドまたは実行できないことに注意してください。たとえば、 システムがアップグレードされた後で、お客様の アプリケーションが機能しなくなることを発見した怒っている顧客のために、 を用意してください。あなたはこの問題のせいになるでしょう。

コアパッケージ内にあるコードを正当に使用している場合は、 コードを再パッケージするのが一番簡単な代替方法です。つまり、問題のクラスを独自のパッケージ名前空間 に移動します。これは、彼らがコアシステムクラスとの衝突で決して になることを意味します。 JarJarはこの努力の中で を助けるツールです。あなたがこれを行うことができないと分かった場合、あなたの道が最終的に になることを示す は、痛み、苦しみ、悲しみ、嘆きにつながります。

[2012-05-02 14:34:07 - MyApplication] Dx 1 error; aborting 
[2012-05-02 14:34:07 - MyApplication] Conversion to Dalvik format failed with error 1 
[2012-05-02 14:42:22 - MyApplication] 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. 
+1

ここに質問がありますか? – cjk

+0

@cjk私が質問の冒頭に書いたように。 "私のAndroidアプリケーションをエクスポートしようとすると、私はこのエラーメッセージを受け取ります.." – penguru

+0

私はproguardを使用しようとすると、このエラーメッセージが表示されることに気付きました。 project.propertiesから "proguard.config = proguard.cfg"行を削除してもエラーはありません。 – penguru

答えて

0

外部参照が適切に含まれていますか。外部APIを使用して作業すると、エクスポートエラーが発生することがよくありますが、明らかにエラーはありません。参考文献で確認してください。