2

多くのライブラリ プロジェクトと、ソース コード内の多くのパッケージおよびクラスを含む大きなプロジェクトがあります。

Eclipse (v4.2) で ADT (r20) を使用してビルドすると、次のエラーが発生します。

[2012-07-08 09:05:33 - AndroidUIPatterns] Dx の書き込み出力の問題: フィールドが多すぎます: 69379; 最大は 65536 です。パッケージ別:

19 android.app
14 android.content.pm
 5 android.content.res
 2 android.gesture
39 android.graphics
 8 android.graphics.drawable
13 android.os
 3 android.provider

...
...
[2012-07-08 09:05:33 - AndroidUIPatterns] Dalvik 形式への変換がエラー 2 で失敗しました

完全なエラー ログについては、ここで確認できます: http://pastie.org/4218297

Android プロジェクトのパッケージ/クラスの数に上限があるようです。

誰かがこのエラーを解決する方法を教えてくれたら、あなたの助けに感謝します.

4

1 に答える 1

5

現在、dex ごとに 65536 (2^16) のフィールド/メソッド参照に制限されているのは、dx コンパイラの制限です。2010年から「修正中」です。

現在の唯一の解決策は、アプリケーションを複数の dex ファイルに分割することです。これにより、1 つの dex ファイルが 64k の制限を超えることはありません。

于 2012-07-11T09:44:19.267 に答える