396

14 にアップデートしてからADT、プロジェクトをビルドできなくなりました。更新前は問題なくビルドされていました。

エラー:

[2011-10-23 16:23:29 - Dex Loader] Unable to execute dex: Multiple dex files define Lcom/myapp/R$array;
[2011-10-23 16:23:29 - myProj] Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Lcom/myapp/R$array;

同様の問題が報告されており、そこにある提案を試してみました

  • 再起動してEclipseいます。
  • プロジェクトのクリーニングと再構築 - [プロジェクト] -> [自動的にビルド] オプションを無効にし、[クリーン] および [ビルド] プロジェクトを実行してみてください。「自動ビルド」オプションをオンにリセット
  • Android開発者ツールの再インストール
  • Eclipse の再インストール (最新バージョン 3.7.1 に更新)
  • ファイルシステムからインポートする新しいプロジェクトを作成しました
  • Subversion から新しいプロジェクトを作成しました。
4

54 に答える 54

94

ツールの以前のバージョンから残ったいくつかのディレクトリとファイルをクリーンアップした後、私の問題は解決されました。ADT Rev 14 では、バイナリの保存場所が変更されています。bin ディレクトリ全体を削除し、Eclipse を再起動してビルドを消去し、再ビルドを強制しました。最初はうまくいったように見えましたが、次の実行後に問題が再発しました。

最終的に、私の bin ディレクトリがプロジェクトのビルド パスに含まれていることがわかりました。ビルド パスから bin を除外し、上記の手順を繰り返しました。これで私の問題は解決しました。

于 2011-10-25T05:04:39.397 に答える
50

【解決しました】

Eclipse プロジェクトのプロパティ -> Java ビルド パス -> 注文とエクスポート

Android プライベート ライブラリのチェックを外します。

于 2014-11-11T01:56:59.027 に答える
46

上記のどれも役に立ちませんでした。結局簡単な問題でした。

FacebookSDK と ViewPagerIndicator をライブラリ プロジェクトとして使用するプロジェクトがありました。すべて Android API 16 でビルドされ、これら 2 つのプロジェクトは Android サポート ライブラリ vX を使用していました (X は 16 ではありません!)。

これらの両方のプロジェクトに外部 JAR を追加し、それを \extras\android\v4 に指定しました...また、libs フォルダーにあった v4 jar を削除しました。

すべてのプロジェクトをクリーンアップして再ビルドします。

出来上がり!

私が受け取っていた正確なエラー: Unable to execute dex: Multiple dex files define Landroid/support/v4/view/PagerAdapter; Dalvik 形式への変換に失敗しました: dex を実行できません: 複数の dex ファイルで Landroid/support/v4/view/PagerAdapter が定義されています。

于 2012-11-14T22:34:43.477 に答える
36

この問題が発生していました.libsフォルダーにgson-2.2.2.jarという外部.jarがありましたが、何らかの理由でgson-2.2.2.jarとgson-2.2.2.jar( 1)、後者を削除しただけで、プロジェクトは再び正常にビルドされました。

于 2012-12-23T17:01:19.013 に答える
31
  1. 日食を閉じます。
  2. プロジェクト フォルダー内の bin フォルダーを削除します。
  3. Eclipse を開始し、プロジェクトをクリーンアップします。
  4. 今すぐ実行すると、問題は解決するはずです
于 2012-04-21T06:46:43.303 に答える
26

他の人が述べたように、これはビルド パスに同じクラスの複数のコピーがある場合に発生します。クラスパスに bin/ を含めることは、この問題を保証する 1 つの方法です。

私にとって、これは、android-support-v4.jar を libs/ フォルダーに追加したときに発生し、どういうわけか Eclipse が 2 つ目のコピーを bin/classes/android-support-v4.jar に追加しました。

bin/classes の余分なコピーを削除すると、問題が解決しました。Eclipse がそこにコピーを作成した理由は不明です。

これをテストするには

grep -r YourOffendingClassName YourApp | grep jar

于 2013-02-26T22:30:53.213 に答える
23

私の場合、プロジェクト->ビルドパス->ビルドパスの構成->ライブラリ->依存関係の削除を右クリックします

それが動作した後。

于 2013-02-06T18:18:32.850 に答える
20

このエラーは、同じクラス名を含む 2 つの jar がある場合に発生する可能性があります。たとえば、jsr311-api-1.1.1.jar と jersey-core-1.17.1.jar の 2 つのライブラリがあり、どちらにもクラス javax.ws が含まれています。 .rs.ApplicationPath. jsr311-api-1.1.1.jar を削除したところ、問題なく動作しました。

于 2013-08-11T23:21:42.393 に答える
19

すでにandroid-support-v4.jarに依存しているプロジェクトにfacebooksdk.jarを追加した後、このエラーが発生していました。facebooksdk.jarにはすでに独自のandroid-support-v4.jarが含まれているため、競合が発生しました。以前のandroid-support-v4.jarをプロジェクトのプロパティ/Javaビルドパス/ライブラリから削除すると、問題が解決しました。

于 2013-03-17T15:48:58.653 に答える
15

ビルド パスから Android の依存関係を削除したところ、機能しました。

編集:それを無視してください。Mavenの依存関係とlibsフォルダーに同じjarがありました。libフォルダーにあるものを削除しました。

于 2012-12-06T16:20:47.703 に答える
9

おそらくr14をインストールしました。このエラーは、プラットフォームツールの更新が原因である可能性があります。SDKを再インストールする必要があります。

于 2011-10-24T01:24:57.233 に答える
9

私にとって、この問題は、私のプロジェクトに Android ライブラリ プロジェクトが含まれている場合にのみ存在します。したがって、すべてのライブラリを削除して、あなたが言ったようにすると、アプリを再度実行できます。関連するライブラリがある場合、bin-removal-trick トリックでさえ機能しません。

私はADT 14を数日間使用しているので、なぜこのバグが今日最初に現れたのかわかりません. まあ、私を幸せにしてくれるバグは他にもありました。

于 2011-10-25T10:17:35.903 に答える
8

bin フォルダーを削除するだけでは不十分で、gen フォルダーも削除しました。その後、2 回再構築した後、dex エラー メッセージは表示されなくなりました。

于 2012-05-16T15:43:09.990 に答える
8

Project Explorerでプロジェクトを選択し、右クリックして [プロパティ] -> [ Java ビルド パス] -> [ソース] -> [ソース フォルダーの出力フォルダーを許可する]チェックボックスをオンにします。

于 2012-08-16T14:46:44.857 に答える
8

私は基本的に同じ問題に直面していました。BIN フォルダーを削除してから、Eclipse から注文およびインポートするための未使用の jar ファイルを削除しました。その後は機能しました

于 2013-09-20T11:01:43.260 に答える
7

私はこのパーティーに遅れましたが、後でまた見つけることができるように自分の経験を追加します:)

Android SDK と Eclipse アドインをアップグレードした後、この問題に遭遇しました。アップグレードが罰せられることはありません!

私にとっての問題は、ライブラリ プロジェクトに関連していました。私のアプリは、標準の Java プロジェクトと Android ライブラリ プロジェクトの両方を参照しています。Java ビルド パスの設定で、Android ライブラリ プロジェクトの src フォルダーと res フォルダーがソース リストに含まれていることに気付きました (ソースの bin が問題であると言及しているすべての人に賛成票を投じてください。src と res も問題でした)。

したがって、解決策は次のとおりです。

  1. ソース リストとプロジェクト リストの両方の設定の Java ビルド パス セクションから、参照されているすべての Android ライブラリ ソースとプロジェクト参照を削除します。
  2. クラスがapkに含まれるように、純粋なJava依存関係がプロジェクトリストにリストされ、[注文とエクスポート]タブでチェックされていることを確認してください
  3. すべての Android ライブラリの依存関係が、プロジェクト プロパティの Android セクションのチェック済み SDK バージョンの下のライブラリ セクションにリストされていることを確認します。

他のソリューションからすべてをつなぎ合わせるのは途中でした! ふぅ!

于 2013-04-05T00:23:01.423 に答える
6

bin ディレクトリの削除に関する Terry の回答と、ANT ディレクトリの場所に関する Larry の回答を読んだ後:

プロジェクトの BIN ディレクトリにあるファイルを BIN/CLASSES に移動し、稼働中です。

編集1その後、2回目の実行で失敗しました...doh

編集2とても閉じたEclipseはファイルを元の場所に戻し、すべてが機能していました...ええと?なぜこれが機能したのかを知っているふりはしません。変更があれば更新します。

編集 3 バックアップから、BIN ディレクトリと BIN/CLASSES に実際に重複ファイルがあったことを確認しました。

答えは、両方の場所にファイルを持たないことです。少なくとも私にとっては、それがうまくいきました。

于 2011-12-04T18:07:45.293 に答える
6

eclipse.iniファイルを変更し、最大メモリ パラメータを

-Xmx1024m

その後、コンピュータを再起動します。

それは私のために働いた。

于 2012-11-27T12:30:41.637 に答える
6

私が信じる解決策を見つけましたか??

    [2013-04-28 23:56:09 - Dex Loader] Unable to execute dex: Multiple dex files define Lcom/coremedia/iso/AbstractBoxParser$1;

それが言う場所:「Lcom/coremedia/iso/AbstractBoxParser $ 1」は、たまたまインポートしたライブラリの場所であり、問​​題を引き起こしていました。com.codemedia.iso.AbstractBoxParser$1.class と .AbstractBoxParser.class を探しました....その jar を取得し、パッケージを解除し、これらのファイルを両方とも削除してから、.zip として再パッケージ化し、ライブラリに追加し、クリーンアップして動作させました! 私にとってこれ以上の衝突はありません!(更新や追加のダウンロードもありません)

于 2013-04-29T04:24:09.630 に答える
6

libs フォルダーに 2 つの異なるバージョンの Cordova .jar ファイルがありましたが、使用していないものを削除したところ、すぐに機能しました。以前は気づかなかったので、以前は機能していたのに突然機能しなくなったので奇妙です...

于 2013-09-10T07:22:38.450 に答える
6

adt 14 から 15 にアップグレードしたときにこれに遭遇し、それを機能させるために、.eclipse フォルダーを (設定と共に) 削除し、adt 15 を再インストールしました。

于 2011-10-29T01:16:49.267 に答える
5

私にとっての解決策:

  1. コードをバックアップしてください!
  2. (プロジェクトではなく)プロジェクトワークスペースに移動し、次のコマンドを実行します。

    dev1:workspace $ cd〜/ Documents / worksheet / .metadata / .plugins / dev1:workspace $ rm -rf org.eclipse.core.resources

  3. Eclipseディレクトリーにナビゲートし、次のコマンドを入力します。

    dev1:eclipse $ ./eclipse clear

  4. Eclipseは空のワークスペースから開始します-プロジェクトがまだそこにあることを心配しないでください。既存のリソースから新しいプロジェクトを作成するだけで、物事は肉汁になるはずです。

私が受け取った正確なエラー: [2012-02-07 14:15:53-Dexローダー]dexを実行できません:複数のdexファイルがLandroid / support / v4 / view/PagerAdapterを定義しています。[2012-02-07 14:15:53-ProjectCloud] Dalvik形式への変換に失敗しました:dexを実行できません:複数のdexファイルでLandroid / support / v4 / view/PagerAdapterが定義されています。

于 2012-02-07T23:24:34.280 に答える
5

AndroidManifest で指定された同じパッケージ名を持つ複数のライブラリ プロジェクトがあります (したがって、R.java によって重複するフィールド名は生成されません)。エラーを削除するために、すべてのライブラリ プロジェクトの AndroidManifest.xml からアクセス許可とアクティビティを削除する必要があったため、Manifest.java は複数回作成されませんでした。うまくいけば、これは誰かを助けることができます.

于 2013-02-08T23:42:19.157 に答える
5

ADT R14 アップデートでは、クラスが bin/classes ディレクトリに移動する場所が変更されます ( http://tools.android.com/recent/buildchangesinrevision14を参照)。ANT を使用している場合は、クラスのパスを bin から bin/classes に変更する必要があります。これは私にとってはうまくいきました。

于 2011-10-28T17:54:44.967 に答える
4

【解決しました】

重複するライブラリ「JAR ファイル」を削除してから、BuildConfig.java ファイル、Clean プロジェクトとその作業を削除します。

于 2013-04-28T09:04:53.517 に答える
4

非ライブラリ プロジェクトをライブラリ プロジェクトに変換しましたが、以前にビルドされた jar ファイルが libs フォルダーにありました。この jar ファイルを削除すると、このエラーは解消されました。

于 2013-01-28T18:59:35.443 に答える
4

運がない他のすべての提案を試した後、プロジェクトの「bin」ディレクトリのすべてのコンテンツを削除し、Eclipseを再度実行したところ、機能しました。

于 2011-11-18T21:26:59.977 に答える
4

私は同じ問題に直面していましたが、アプリをプッシュしているときに見たいくつかのjarファイルが2回ロードされたため、複数のdexエラーが発生しました。

于 2013-01-31T15:02:34.560 に答える
3

プロジェクトにライブラリとして ActionBarSherlock を追加したときに、同様の問題が発生しました。Eclipse ADT v21.0 は、プロジェクトのビルドを高速化するためと思われる dex ファイルを事前に作成しました。これらの dex ファイルは、lib フォルダー内の一部の jar ファイルと同じでした。したがって、一方を保持し、もう一方を削除してください。dexedファイルが自動的に生成されていたため、libフォルダー内のものを削除しました。

于 2013-01-29T09:31:14.813 に答える
3

R.java を削除して、Eclipse に再生成させてみてください。

于 2011-10-24T00:21:52.143 に答える
3

上記の解決策のほとんどを試しましたが、過去にそれらのいくつかが機能していました。

しかし、今回はどれも機能しなかったため、ライブラリ プロジェクトの .jar ファイルを削除しました。ライブラリとアプリケーション プロジェクトの両方を再構築します。

そして今回は成功!

于 2015-08-30T07:12:28.747 に答える
2

上記の方法のどれも私にはうまくいきませんでしたが、私のものは魔法のようにうまくいきました!

この問題は、ユーザーが依存ライブラリを Eclipse でビルドすると発生します。だから解決策を得るために

ステップ 1:ライブラリ (サポート ライブラリ プロジェクト v4 または v13 など) を Eclipse から削除し、ワークスペース ソースを完全に削除します。

ステップ 2:ライブラリを再インポートしてプロジェクトに含める

ステップ 3:クリーンアップと再構築

終わり!

于 2013-11-06T19:45:56.953 に答える
2

この問題が発生する別のシナリオが見つかりました。問題は、libs フォルダーがプロジェクト設定でソースとして使用されていたため、2 回エクスポートされたことです。libs フォルダーを右クリックして解決 -> ビルド パス -> ビルド パスから削除

于 2014-02-05T12:57:09.313 に答える
1

ライブラリを削除することで、プロジェクトでこの問題を解決しました。

理由:プロジェクトにライブラリ プロジェクトを含めましたが、誤って以前のライブラリをプロジェクトから削除しなかったため、プロジェクトを実行しているときに、同じライブラリを lib フォルダーから削除すると、同じライブラリ dex ファイルが 2 回生成されました。私のプロジェクトでは、エラーがなくなり、ビルドが正常に作成されました。他の人が同じ問題に直面することを願っています。

于 2015-02-25T13:26:09.260 に答える
0

私の場合、「src/com/...」ディレクトリにある「.apk」ファイルを削除し、プロジェクトをクリーンアップして実行します。

以前の提案をすべて試しましたが、うまくいきませんでした。

于 2013-11-13T11:49:41.403 に答える
0

問題は、「Android の依存関係」が次の場合でも古い AdMob SDK への参照を保持することです。

  • ビルド パスから古い admob SDK を削除する
  • アリクリーン
  • 日食クリーン
  • bin および gen フォルダーを手動で削除します
  • 日食を閉じる/開く
  • SDK ツールを更新する
  • 広告を更新

解決策は、プロジェクトからだけでなく、コンピュータからAdMob SDK JAR を実際に削除することです。

于 2014-04-04T10:09:56.667 に答える
0

私にとっては、実際にはもうそのパスになかった、buildPath の jar ファイルを指していました。

于 2013-04-03T03:34:16.540 に答える
0

このエラーは、.jar ファイル (実際には httpmime-4.3.jar でした) をインポートして使用しようとしたときに発生しました。私にとって解決策は簡単でした。.jar ファイルを libs フォルダーから削除し、Order and Export から削除しました。プロジェクトを再度実行したところ、うまくいったので、.jar ファイルを再度追加したところ、最終的には問題ありませんでした。

于 2014-03-21T16:09:49.037 に答える
0

Google Play サービスを分割すると役立つ場合があります: https://developers.google.com/android/guides/setup#split

したがって、 play-services だけを追加する代わりに:

compile 'com.google.android.gms:play-services:7.5.0'

必要なものだけを追加します:

// Google Maps only
compile 'com.google.android.gms:play-services-maps:7.5.0'
于 2015-07-01T06:24:52.950 に答える
0

「com.google.android.gms:play-services」を使用する場合、次のリストを見て本当に必要なものを追加できます。

Google+ com.google.android.gms:play-services-plus:10.0.1

Google アカウントのログイン com.google.android.gms:play-services-auth:10.0.1

Google アクション、ベース クライアント ライブラリ com.google.android.gms:play-services-base:10.0.1

Google アドレス API com.google.android.gms:play-services-identity:10.0.1

Firebase App Indexing com.google.firebase:firebase-appindexing:10.0.1 Google アナリティクス com.google.android.gms:play-services-analytics:10.0.1

Google の認知度 com.google.android.gms:play-services-awareness:10.0.1

Google キャスト com.google.android.gms:play-services-cast:10.0.1

Google クラウド メッセージング com.google.android.gms:play-services-gcm:10.0.1

グーグルドライブ com.google.android.gms:play-services-drive:10.0.1

Google フィット com.google.android.gms:play-services-fitness:10.0.1

Google の位置情報とアクティビティの認識 com.google.android.gms:play-services-location:10.0.1

グーグルマップ com.google.android.gms:play-services-maps:10.0.1

Google モバイル広告 com.google.android.gms:play-services-ads:10.0.1

Google プレイス com.google.android.gms:play-services-places:10.0.1

モバイルビジョン com.google.android.gms:play-services-vision:10.0.1

Google Nearby com.google.android.gms:play-services-nearby:10.0.1

Google パノラマ ビューア com.google.android.gms:play-services-panorama:10.0.1

Google Play ゲーム サービス com.google.android.gms:play-services-games:10.0.1

安全網 com.google.android.gms:play-services-safetynet:10.0.1

アンドロイドペイ com.google.android.gms:play-services-wallet:10.0.1

アンドロイドウェア com.google.android.gms:play-services-wearable:10.0.1

于 2017-01-06T07:33:33.023 に答える
0

生成された R パッケージを参照ライブラリから削除します。場合によっては、Clean and Rebuild で古い R 生成ファイルが削除されないことがあります。

于 2018-03-24T23:43:24.843 に答える
0

私はこの問題を抱えていて、のパスを変更することで解決しました。ディレクトリを変更するためのjarですが、. jarは反対側を引っ張って、パスを変更し、問題なく入りました

于 2013-06-13T04:10:40.727 に答える
0

すでに削除されたライブラリの\bin\dexedLibsすべてのjarファイルに移動して削除し、次にきれいにします

于 2014-10-27T09:37:19.640 に答える
0

/libs ディレクトリに 2 つの関連するが同一ではない guava ライブラリがありました。1 つを削除すると、問題はなくなりました。

于 2013-03-07T03:01:23.293 に答える
0

Dalvik 形式への変換に失敗しました: dex を実行できません: 複数の dex ファイルで Lcom/google/zxing/BarcodeFormat が定義されています。

zxing のバーコード スキャナー プラグインに関してこのエラーが発生した場合は、この回答を投稿してください。

libs フォルダー内の jar ファイルを削除するだけです。project/libs/com.google.zxing.client.android.captureactivity.jar である必要があります

于 2014-02-04T03:31:02.257 に答える