8

今日ダウンロードした最新のビルドツールを実行しているアプリケーションをビルドできません。これは更新後に発生し始めました。

-dex:
   [dex] Converting compiled files and external libraries into 
         /Users/rob/Repos/my_app/bin/classes.dex...
    [dx] 
    [dx] UNEXPECTED TOP-LEVEL EXCEPTION:
    [dx] com.android.dx.util.DexException: Multiple dex files define 
         Lcom/robaldred/myapp/About$1;

クリーニングと再構築を試しました。Eclipseでも試しましたが、同じエラーが発生します。誰かアイデアがありますか?私は今ここのレンガの壁にいます。

4

8 に答える 8

9

クリーニング、新しいプロジェクトの作成、sdkのアンインストールと再インストールに何時間も費やしました...何も機能しませんでした。ライブラリプロジェクトもありませんでした(libの下にいくつかのjarファイルがありました)。ただし、最終的には修正し、手順は次のとおりです。

  • すべての .apk ファイルを検索して消去します (.svn フォルダーにいくつかありました... grr .. 一部の開発者は、svn の下にビルド関連のフォルダーをいくつか追加しました)。
  • bin と gen を削除します。
  • Eclipse プロジェクトのプロパティからライブラリ jar への参照を削除し、[OK] を押します。次に、それらを再度追加します。Javaでコンパイルされたjarライブラリがいくつかありました。なぜ削除して再度追加しなければならなかったのかわかりませんが、それは確かに必要でした.
于 2011-10-28T08:53:18.207 に答える
5

昨日、SDK がプラットフォーム ツールの更新をプッシュしようとしたが、それをまったく使用できなかったなど、私のシステム (およびここでの別の作業) に何かが起こりました。

SDKを邪魔にならないように移動して再インストールしたところ、すべてが以前と同じように機能しました。あなたの dex 固有の問題はありませんでしたが、昨日の更新のプッシュによって多くのことが壊れたのではないかと思います。幸運を。

于 2011-10-21T20:43:03.133 に答える
3

あなたはできる:

  • フォルダ<.settings><bin><gen>、ファイル<.classpath><.project>およびを削除します<project.properties>

  • <Delete>ソース ファイルを削除せずに、Eclipse でプロジェクトを削除します (右ボタン、 )。

  • 新しい Android プロジェクトを作成<Create project from existing sources>し、以前のソースから選択します。

  • ビルド パスで必要な場合は、外部ライブラリをインポートします。

この厄介な問題を解決する必要があります。

于 2011-12-12T08:49:52.333 に答える
2

プロジェクトに添付したり、プロジェクトに含めたりするすべてのソース ファイルには十分注意してください。この問題は、次の 2 つの状況で見つかりました。

  1. 2 つの異なる Android サポート ライブラリ jar がある場合
  2. 過去に誤ってFacebooksrcをライブラリとしてではなく、srcディレクトリに直接入れたとき

したがって、 bin/ ディレクトリをクラスパスに入れるべきではないというすべての回答も正しいですが、次のようなエラーがある状況では:

[2013-08-02 20:22:03 - Dex Loader] Unable to execute dex: Multiple dex files define Lcom/facebook/android/AsyncFacebookRunner$1;
[2013-08-02 20:22:03 - Activity] Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Lcom/facebook/android/AsyncFacebookRunner$1;

プロジェクト/ライブラリで同じ jar を探す必要があります (これはほとんどの場合、Android Eclipse 環境によって作成されます)。または、プロジェクトに接続されているすべてのソースを調べて、(上記のコード例のように) クラスの複数の出現を見つけます。com.facebook.android.AsyncFacebookRunner

于 2013-08-02T20:01:01.287 に答える
0

ビンのディレクトリがから変わると思います

com/XXX/XXX

classes/com/XXX.

プロジェクトをクリーンアップして解決できます。

于 2011-10-27T10:24:31.140 に答える
0

複数の DEX ファイルが原因で問題が発生している場合

ターゲット フォルダー全体を削除し、プロジェクトを再度ビルドします。これはプロジェクトには影響しません。ターゲット フォルダー内のすべてが再ビルドされるためです。

于 2014-03-12T05:52:54.367 に答える