web-dev-qa-db-ja.com

Dexを実行できません:複数のdexファイルがLcom/myapp/R $ arrayを定義しています。

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

エラー:

[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から新しいプロジェクトを作成しました。
383
terry

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

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

94
terry

私は同じ問題を抱えていました。それはEclipseを使っているときだけ起こっていたのでかなり奇妙なことでした(しかしAntでも大丈夫でした)。これは私がそれを修正した方法です:

  • Project Nameを右クリック
  • Build Path - > Configure Build Pathを選択
  • Java Build Pathで、タブOrder and Exportに行きます

  • .jarライブラリのチェックを外します

時々のみ: [順序と書き出し]タブにはjarライブラリがありませんでしたので、Android Private Librariesの項目のチェックを外しました。今私のプロジェクトは実行されています。

461
Marco Bonifazi

[解決しました]

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

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

49
user802467

上記のどれも助けにはならなかった。結局それは簡単な問題でした。

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

私はそれらのプロジェクトの両方に外部JARを追加し、それを\ extras\Android\v4にポイントしました...そして私が彼らのlibsフォルダにあったv4 jarも削除しました。

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

ほら!

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

47
Roy Weinberg

私のlibsフォルダにgson-2.2.2.jarという外部の.jarがありましたが、何らかの理由でgson-2.2.2.jarとgson-2.2.2.jarがありました。 1)、私は単に後者を削除し、私のプロジェクトは再びうまく構築されました。

36
TomSelleck
  1. Eclipseを閉じます。
  2. プロジェクトフォルダ内のbinフォルダを削除します。
  3. Eclipseを起動してプロジェクトをクリーンアップします。
  4. 今すぐ実行して問題は解決するはずです
31
Mohit marwal

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

私の場合、これは私が自分のlibs /フォルダーにAndroid-support-v4.jarを追加したときに起こりました、そしてどういうわけかEclipseはbin/classes/Android-support-v4.jarに2番目のコピーを追加しました。

Bin/classesの余分なコピーを削除することで問題が解決しました - なぜEclipseがそこにコピーを作ったのかはっきりしません。

これをテストすることができます

grep -r YourOffendingClassName YourApp |グレップジャー

26
chaqke

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

それが働いた後。

23
sonida

このエラーは、同じクラス名を含むjarが2つある場合に発生する可能性があります。私は2つのライブラリを持っていました:jsr311-api-1.1.1.jarとjersey-core-1.17.1.jar、どちらもクラスjavax.ws.rs.ApplicationPathを含みます。私はjsr311-api-1.1.1.jarを削除し、それはうまくいきました。

20
Mateus Viccari

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

19
pontiac_ventura

プロジェクト/プロパティ およびJava ビルドパス および チェックなし the Android Private Libraries に移動します。

This is also another case for this kind of error

完了

18
Hiren Patel

私はビルドパスからAndroidの依存関係を削除し、それは働いた。

編集:それを無視してください。私は私のmavenの依存関係とlibsフォルダに同じjarファイルを持っていました。 libフォルダから削除しました。

15
Osha Mahue

あなたはおそらく r14をインストールしました 、このエラーはプラットフォームツールのアップデートが原因で発生した可能性があります、あなたはあなたのsdkを再インストールしなければなりません

9
Reno

私にとって、この問題は私のプロジェクトに関係するAndroidライブラリプロジェクトがある限り存在します。だから私はすべてのライブラリを削除し、あなたが言ったようにするとき私は私のアプリを再び実行することができます。関係するライブラリがあれば、bin-Removal-trickのトリックさえも '作品に勝った。

私は数日間ADT 14を使用しているので、このバグが本日初めて登場した理由はわかりません。それでも私を幸せにしてくれる他のバグがありました。

9
mephju

プロジェクトエクスプローラ でプロジェクトを選択し、右クリックして プロパティ - > Javaビルドパス - > ソース - >ボックスにチェックを入れて ソースの出力フォルダを許可するフォルダ

8
prasantasing

Binフォルダを削除するだけでは不十分で、genフォルダも削除しました。それから2回の再構築後、dexエラーメッセージは消えました。

8
Rudolf Polzer

私は基本的に同じ問題に直面していました。 BINフォルダーを削除してから、Order and Import from Eclipse用の未使用のjarファイルを削除しました。それはその後働いた

8
Ahsan Zaheer

私はこのパーティーに遅れていますが、後でもう一度それを見つけることができるように私自身の経験を追加します

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

私にとっての問題はライブラリプロジェクトに関連していました、私のアプリは標準のJavaプロジェクトとAndroidライブラリプロジェクトの両方を参照しています。私は、Javaビルドパスの設定がソースリストにAndroidライブラリプロジェクトのsrcとresフォルダを含んでいることに気づきました(ソースのbinに言及しているみんなへの支持、問題はsrcとresです)。

だから解決策は次のとおりです。

  1. [Source]リストと[Project]リストの両方の設定の[Java Build Path]セクションから、参照されているすべてのAndroidライブラリのソースおよびプロジェクト参照を削除します。
  2. 純粋なJava依存関係が「プロジェクト」リストにリストされ、「順序とエクスポート」タブでチェックされてクラスがapkに含まれるようにします。
  3. すべてのAndroidライブラリの依存関係が、プロジェクトプロパティのAndroidセクションの、チェックされたSDKバージョンの下のライブラリセクションに表示されていることを確認してください。

それを他のソリューションからまとめることができました。あー!

7
Jay

Libsフォルダーに2つの異なるバージョンのCordova .jarファイルがあり、使用していないものは削除しましたが、すぐに機能しました。気づかなかったので変わっていたし、それが以前にうまくいって、そして突然突然やめた….

6
Dediqated

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

    [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を探しました。これ以上私と衝突しないでください。 (アップデートも追加ダウンロードもなし)

6
jp093121

私はadt 14から15にアップグレードしたときにこの問題に遭遇しました、そしてそれを動作させるために私は(私の設定と共に).Eclipseフォルダを削除しadt 15を再インストールすることになった。

6
Jake1164

ANTディレクトリの場所に関するbinディレクトリとLarrysの削除についてのTerrysの応答を読んだ後:

私のプロジェクトのBINディレクトリにあるファイルをBIN/CLASSESに移動して実行しました。

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

編集2それでは、閉じたEclipseがファイルを元の場所に戻し、すべてが機能しました。私はこれがなぜうまくいったのか知りません。変更があれば更新します。

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

だから 答えは:両方の場所にファイルを置かないでください。 少なくとも私にとってはそれがうまくいった。

6
HostMyBus

Eclipse.ini ファイルを変更し、最大メモリパラメータをに設定します。

-Xmx1024m

その後、コンピュータを再起動してください。

それは私のために働きました。

6
Truncarlos

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

5
Larry Borsato

私のための解決策:

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

    dev1:ワークスペース$ cd〜/ Documents/workspace/.metadata/.plugins/dev1:ワークスペース$ rm -rf org.Eclipse.core.resources

  3. Eclipseディレクトリに移動して次のコマンドを入力します。

    dev1:Eclipse $ ./Eclipseクリア

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

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

5
Cookster

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

5
Jared Rummler

私は同じ問題に直面していた私は私のアプリを二重にロードされたいくつかのjarファイルをプッシュしながら見たときに複数のdexエラー。ちょうどあなたのプロジェクトのプロパティに行く - > Java Build Path。

4
Navi

[解決しました]

重複したライブラリ "JARファイル"を削除してBuildConfig.Javaファイルを削除し、プロジェクトとその作業を削除します。

4
AbuQauod

幸運にも他のすべての提案を試した後、私は自分のプロジェクトの「bin」ディレクトリーの内容をすべて削除し、その後Eclipseを再度実行しました。

4
JPB

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

4
PacificSky

私は上記の解決策のほとんどを試してみました、そして過去にはそれらのいくつかはうまくいっていました。

しかし今回はどれもうまくいきませんでしたので、私は自分のライブラリプロジェクトの.jarファイルを削除しました。ライブラリとアプリケーションプロジェクトの両方を再構築します。

そして今回はうまくいった!

3
hi0001234d

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

3
Blaskovicz

私のプロジェクトでActionBarSherlockをライブラリとして追加したときにも、同様の問題がありました。 Eclipse ADT v21.0は、プロジェクトをより速くビルドするためのdexファイルを事前に作成しました。これらのdexファイルは私のlibフォルダの中のいくつかのjarファイルと同じものでした。そのため、片方を残してもう片方を削除してください。 dexされたファイルが自動的に生成されていたので、私はlibフォルダのそれらを削除しました。

3
RaWa

私は同じ問題に直面しています。私が見つけた問題は、私がそのプロジェクトのマニフェストファイルにライブラリプロジェクトがあることにあり、 targetSdkVersion プロパティがありません。そのプロパティを(uses-sdk)タグの下に追加しました。それから私のプロジェクトをきれいにしなさい。これで私のアプリは正常に動作します。

3
Dinesh

「Android-support-v4.jar」がOrder and Export _ Java Build Path _のチェックされていないであることを確認してください

手順に従ってください:

  1. プロジェクトプロパティ
  2. Javaビルドパス
  3. 注文とエクスポート
  4. 「Android-support-v4.jar」のチェックを外します
3
Muhamed Riyas M

このエラーをGoogleで検索したところ、これが一番の結果でした。

React Native に関してこの問題を解決する方法は質問されていませんが、ここで終わり、 React Nativeを使用している人のためにとにかく共有すると思います

プロジェクトルートから実行します。

  • cd Android && ./gradlew clean [Mac - Bash Terminal]
  • cd Android & gradlew clean [Windows - コマンドプロンプト]

それからビルドして再度実行するためにreact-native run-Android

2
Rob

私のために使用された上記のコードのどれにも該当しませんIS正常に機能しました。

ユーザーがEclipseで依存ライブラリを構築するときに問題が発生します。だから解決策を得るために

ステップ1: 削除ワークスペースのソースを使用してEclipseからライブラリを(サポートライブラリプロジェクトv4またはv13のように)削除する

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

ステップ3: クリーンアップして再構築する

完了です。

2

これは我々のアプリで、gson jarのlibsフォルダがある時に起こります(例:gson-2.2.4.jar)同時に、GoogleのPlayサービスライブラリにも既にGsonがあります。

私は自分のアプリとits work fine nowからそれを削除しました。

2
AbuQauod

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

2
Doron Zehavi

私は自分のプロジェクトでライブラリを削除してこの問題を解決しました:

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

1
Naveed Ahmad

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

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

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

0
thiagolr

グーグルプレイサービスを分割するとあなたを助けることができる: 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'
0
sonique

\bin\dexedLibsに行き、すでに削除されているライブラリの jar をすべて削除し、次に clean

0
Muhammed Refaat

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

Zxingのバーコードスキャナプラグインに関して、このエラーを受け取った人のためにこの回答を投稿してください。

Libsフォルダー内のjarファイルを削除するだけです。 project/libs/com.google.zxing.client.Android.captureactivity.jarになります

0
pdxwebdev

私は同じ問題をアンドロイドでmultipledexファイルを実行することができませんでした--lorg\xhtml\CSS

libフォルダの2external jarsファイルを削除しました - core-renderer-3043e0f89ffb2.jar

core-renderer-minimal-e70d6a.jarと私のプロジェクトは再びうまくビルドされました...

0
user1859771

私はこの問題を抱えていて、その道を変えることによってそれを解決しました。ディレクトリを変更するためのjarファイルが、。瓶が反対側を引っ張って、道を変えれば私は問題なく入った

0
Fernando

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

0
aez

私にとっては、builtPathでjarファイルを指定していましたが、実際にはそのパスには含まれていませんでした。

0
Sara

GooglePlayServiceライブラリプロジェクトgoogle-play-services.jarで同じエラーメッセージが表示されました。

私たちはmavenを使っています、このため私は自分のローカルのmavenリポジトリにライブラリを追加しなければなりません(mvn install:install-file -Dfile = xxx)。

これで、ライブラリは「Javaビルドパス」 - >ライブラリの2つになりました。

  • androidの依存関係に一度
  • そして一度はMaven Dependenciesに。

この問題を解決するには、google-play-services_lib/libsディレクトリからライブラリを 削除 /削除する必要があります(jarが自動的に使用されます)。

0
Gugelhupf

'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アプリのインデックス作成com.google.firebase:firebase-appindexing:10.0.1 Google Analytics com.google.Android.gms:play-services-analytics:10.0.1

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

Google Cast com.google.Android.gms:play-services-cast:10.0.1

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

Googleドライブcom.google.Android.gms:play-services-drive:10.0.1

Google Fit com.google.Android.gms:play-services-fitness:10.0.1

Googleの場所と活動の認識com.google.Android.gms:play-services-location:10.0.1

Googleマップ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となりのcom.google.Android.gms:play-services-nearby:10.0.1

Google Panorama Viewer com.google.Android.gms:play-services-panorama:10.0.1

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

SafetyNet com.google.Android.gms:play-services-safetynet:10.0.1

Android Pay com.google.Android.gms:play-services-wallet:10.0.1

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

0
Ahmad Aghazadeh

私の場合は、 "src/com/..."ディレクトリ内の ".apk"ファイルを削除し、プロジェクトを消去して実行します。

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

0
Airton

参照ライブラリから生成されたRパッケージを削除してください。時にはClean and Rebuildは古いRが生成したファイルを削除しません。

0
alex

Binフォルダがビルドパスにないことを確認してください。

0
Sterling Diaz

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

0
erdomester