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
開発者ツールの再インストール私の問題は、ツールの以前のバージョンから残っているいくつかのディレクトリとファイルをクリーンアップした後に解決されました。 ADT Rev 14はバイナリの格納場所を変更します 。私はbinディレクトリ全体を削除し、Eclipseを再起動してビルドをきれいにして再構築を強制しました。それは最初はうまくいくようだったが、問題は次の実行の後に戻ってきた。
私のbinディレクトリがプロジェクトのビルドパスに含まれていることがわかりました。ビルドパスからbinを除外して、上記の手順を繰り返しました。これで私の問題は解決しました。
私は同じ問題を抱えていました。それはEclipseを使っているときだけ起こっていたのでかなり奇妙なことでした(しかしAntでも大丈夫でした)。これは私がそれを修正した方法です:
Project Name
を右クリックBuild Path
- > Configure Build Path
を選択Java Build Path
で、タブOrder and Export
に行きます
.jar
ライブラリのチェックを外します
時々のみ: [順序と書き出し]タブにはjarライブラリがありませんでしたので、Android Private Librariesの項目のチェックを外しました。今私のプロジェクトは実行されています。
[解決しました]
Eclipseプロジェクトのプロパティ - > Javaビルドパス - >注文とエクスポート
Androidプライベートライブラリのチェックを外します。
上記のどれも助けにはならなかった。結局それは簡単な問題でした。
ライブラリプロジェクトとして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を定義しています。
私のlibsフォルダにgson-2.2.2.jarという外部の.jarがありましたが、何らかの理由でgson-2.2.2.jarとgson-2.2.2.jarがありました。 1)、私は単に後者を削除し、私のプロジェクトは再びうまく構築されました。
他の人が言ったように、これはビルドパスに同じクラスのコピーが複数ある場合に起こります。クラスパスにbin /を含めることはこの問題を保証する1つの方法です。
私の場合、これは私が自分のlibs /フォルダーにAndroid-support-v4.jarを追加したときに起こりました、そしてどういうわけかEclipseはbin/classes/Android-support-v4.jarに2番目のコピーを追加しました。
Bin/classesの余分なコピーを削除することで問題が解決しました - なぜEclipseがそこにコピーを作ったのかはっきりしません。
これをテストすることができます
grep -r YourOffendingClassName YourApp |グレップジャー
私の場合は、プロジェクト - >ビルドパス - >ビルドパスの設定 - >ライブラリ - >依存関係の削除を右クリックします。
それが働いた後。
このエラーは、同じクラス名を含む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を削除し、それはうまくいきました。
Android-support-v4.jar に既に依存しているプロジェクトに facebooksdk.jar を追加した後、このエラーが発生しました。 facebooksdk.jar にはすでに独自の Android-support-v4.jarが含まれているため 競合がありました。プロジェクトのプロパティ/ Javaビルドパス/ライブラリから Android-support-v4.jar を削除することで問題が解決しました。
プロジェクト/プロパティ およびJava ビルドパス および チェックなし the Android Private Libraries に移動します。
完了
私はビルドパスからAndroidの依存関係を削除し、それは働いた。
編集:それを無視してください。私は私のmavenの依存関係とlibsフォルダに同じjarファイルを持っていました。 libフォルダから削除しました。
あなたはおそらく r14をインストールしました 、このエラーはプラットフォームツールのアップデートが原因で発生した可能性があります、あなたはあなたのsdkを再インストールしなければなりません
私にとって、この問題は私のプロジェクトに関係するAndroidライブラリプロジェクトがある限り存在します。だから私はすべてのライブラリを削除し、あなたが言ったようにするとき私は私のアプリを再び実行することができます。関係するライブラリがあれば、bin-Removal-trickのトリックさえも '作品に勝った。
私は数日間ADT 14を使用しているので、このバグが本日初めて登場した理由はわかりません。それでも私を幸せにしてくれる他のバグがありました。
プロジェクトエクスプローラ でプロジェクトを選択し、右クリックして プロパティ - > Javaビルドパス - > ソース - >ボックスにチェックを入れて ソースの出力フォルダを許可するフォルダ
Binフォルダを削除するだけでは不十分で、genフォルダも削除しました。それから2回の再構築後、dexエラーメッセージは消えました。
私は基本的に同じ問題に直面していました。 BINフォルダーを削除してから、Order and Import from Eclipse用の未使用のjarファイルを削除しました。それはその後働いた
私はこのパーティーに遅れていますが、後でもう一度それを見つけることができるように私自身の経験を追加します
私は、Android SDKとEclipseアドインをアップグレードした後にこの問題に遭遇しました。アップグレードが罰を受けることはありません。
私にとっての問題はライブラリプロジェクトに関連していました、私のアプリは標準のJavaプロジェクトとAndroidライブラリプロジェクトの両方を参照しています。私は、Javaビルドパスの設定がソースリストにAndroidライブラリプロジェクトのsrcとresフォルダを含んでいることに気づきました(ソースのbinに言及しているみんなへの支持、問題はsrcとresです)。
だから解決策は次のとおりです。
それを他のソリューションからまとめることができました。あー!
Libsフォルダーに2つの異なるバージョンのCordova .jarファイルがあり、使用していないものは削除しましたが、すぐに機能しました。気づかなかったので変わっていたし、それが以前にうまくいって、そして突然突然やめた….
私が信じる解決策を見つけた?
[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を探しました。これ以上私と衝突しないでください。 (アップデートも追加ダウンロードもなし)
私はadt 14から15にアップグレードしたときにこの問題に遭遇しました、そしてそれを動作させるために私は(私の設定と共に).Eclipseフォルダを削除しadt 15を再インストールすることになった。
ANTディレクトリの場所に関するbinディレクトリとLarrysの削除についてのTerrysの応答を読んだ後:
私のプロジェクトのBINディレクトリにあるファイルをBIN/CLASSESに移動して実行しました。
編集1 2回目の実行で失敗しました... doh
編集2それでは、閉じたEclipseがファイルを元の場所に戻し、すべてが機能しました。私はこれがなぜうまくいったのか知りません。変更があれば更新します。
編集3バックアップから、BINディレクトリとBIN/CLASSESにファイルが重複していることを確認しました。
だから 答えは:両方の場所にファイルを置かないでください。 少なくとも私にとってはそれがうまくいった。
Eclipse.ini ファイルを変更し、最大メモリパラメータをに設定します。
-Xmx1024m
その後、コンピュータを再起動してください。
それは私のために働きました。
ADT R14アップデートでは、クラスがbin/classesディレクトリに移動する場所が変更されています( http://tools.Android.com/recent/buildchangesinrevision14 を参照)。 ANTを使用している場合は、クラスのパスをbinからbin/classesに変更する必要があります。これは私のために働きました。
私のための解決策:
プロジェクトではなく自分のプロジェクトワークスペースに移動し、次のコマンドを実行します。
dev1:ワークスペース$ cd〜/ Documents/workspace/.metadata/.plugins/dev1:ワークスペース$ rm -rf org.Eclipse.core.resources
Eclipseディレクトリに移動して次のコマンドを入力します。
dev1:Eclipse $ ./Eclipseクリア
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を定義しています。
私はAndroidManifestで指定された同じパッケージ名のライブラリプロジェクトをいくつか持っています(したがってR.Javaによって重複するフィールド名は生成されません)。 Manifest.Javaが複数回作成されないように、エラーを削除するには、すべてのライブラリプロジェクトのAndroidManifest.xmlから権限とアクティビティを削除する必要がありました。うまくいけば、これは誰かに役立つことができます。
私は同じ問題に直面していた私は私のアプリを二重にロードされたいくつかのjarファイルをプッシュしながら見たときに複数のdexエラー。ちょうどあなたのプロジェクトのプロパティに行く - > Java Build Path。
[解決しました]
重複したライブラリ "JARファイル"を削除してBuildConfig.Javaファイルを削除し、プロジェクトとその作業を削除します。
幸運にも他のすべての提案を試した後、私は自分のプロジェクトの「bin」ディレクトリーの内容をすべて削除し、その後Eclipseを再度実行しました。
私はライブラリではないプロジェクトをライブラリプロジェクトに変換しましたが、libsフォルダに以前に構築されたjarファイルがありました。このjarファイルを削除すると、このエラーは解消されました。
私は上記の解決策のほとんどを試してみました、そして過去にはそれらのいくつかはうまくいっていました。
しかし今回はどれもうまくいきませんでしたので、私は自分のライブラリプロジェクトの.jarファイルを削除しました。ライブラリとアプリケーションプロジェクトの両方を再構築します。
そして今回はうまくいった!
R.Javaを削除してEclipseに再生成させてみてください。
私のプロジェクトでActionBarSherlockをライブラリとして追加したときにも、同様の問題がありました。 Eclipse ADT v21.0は、プロジェクトをより速くビルドするためのdexファイルを事前に作成しました。これらのdexファイルは私のlibフォルダの中のいくつかのjarファイルと同じものでした。そのため、片方を残してもう片方を削除してください。 dexされたファイルが自動的に生成されていたので、私はlibフォルダのそれらを削除しました。
私は同じ問題に直面しています。私が見つけた問題は、私がそのプロジェクトのマニフェストファイルにライブラリプロジェクトがあることにあり、 targetSdkVersion プロパティがありません。そのプロパティを(uses-sdk)タグの下に追加しました。それから私のプロジェクトをきれいにしなさい。これで私のアプリは正常に動作します。
「Android-support-v4.jar」がOrder and Export _ Java Build Path _のチェックされていないであることを確認してください
手順に従ってください:
このエラーをGoogleで検索したところ、これが一番の結果でした。
React Native に関してこの問題を解決する方法は質問されていませんが、ここで終わり、 React Nativeを使用している人のためにとにかく共有すると思います 。
プロジェクトルートから実行します。
cd Android && ./gradlew clean
[Mac - Bash Terminal]cd Android & gradlew clean
[Windows - コマンドプロンプト]それからビルドして再度実行するためにreact-native run-Android
。
私のために使用された上記のコードのどれにも該当しませんIS正常に機能しました。
ユーザーがEclipseで依存ライブラリを構築するときに問題が発生します。だから解決策を得るために
ステップ1: 削除ワークスペースのソースを使用してEclipseからライブラリを(サポートライブラリプロジェクトv4またはv13のように)削除する
ステップ2: /ライブラリを再インポートしてプロジェクトに含める
ステップ3: クリーンアップして再構築する
完了です。
これは我々のアプリで、gson jar
のlibsフォルダがある時に起こります(例:gson-2.2.4.jar)同時に、GoogleのPlayサービスライブラリにも既にGson
があります。
私は自分のアプリとits work fine now
からそれを削除しました。
この問題が発生する別のシナリオが見つかりました。問題は、libsフォルダーがプロジェクト設定のSourceとして使用されていたため、2回エクスポートされたことです。 libsフォルダーを右クリック - >ビルドパス - >ビルドパスから削除することで解決
私は自分のプロジェクトでライブラリを削除してこの問題を解決しました:
理由: 自分のプロジェクトにlibrary-projectを含め、誤って以前のlibを自分のプロジェクトから削除しなかったため、プロジェクトを実行していたときに同じライブラリdexファイルが2回生成されました私のプロジェクトのlibフォルダからライブラリ、エラーが消えてビルドが正常に作成された、私は他の人が同じ問題に直面することを願っています。
問題は、「Androidの依存関係」が古いAdMob SDKへの参照を保持していることです。
解決策は、プロジェクトからだけでなく、実際にAdMob SDK JAR あなたのコンピュータからを削除することです。
グーグルプレイサービスを分割するとあなたを助けることができる: 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'
\bin\dexedLibs
に行き、すでに削除されているライブラリの jar をすべて削除し、次に clean
Dalvik形式への変換に失敗しました:dexを実行できません:複数のdexファイルでLcom/google/zxing/BarcodeFormatが定義されています。
Zxingのバーコードスキャナプラグインに関して、このエラーを受け取った人のためにこの回答を投稿してください。
Libsフォルダー内のjarファイルを削除するだけです。 project/libs/com.google.zxing.client.Android.captureactivity.jarになります
私は同じ問題をアンドロイドでmultipledexファイルを実行することができませんでした--lorg\xhtml\CSS
libフォルダの2external jarsファイルを削除しました - core-renderer-3043e0f89ffb2.jar
core-renderer-minimal-e70d6a.jarと私のプロジェクトは再びうまくビルドされました...
私はこの問題を抱えていて、その道を変えることによってそれを解決しました。ディレクトリを変更するためのjarファイルが、。瓶が反対側を引っ張って、道を変えれば私は問題なく入った
/ libsディレクトリに、2つの関連しているが同一ではないguavaライブラリがありました。1つを削除した後、問題は解決しました。
私にとっては、builtPathでjarファイルを指定していましたが、実際にはそのパスには含まれていませんでした。
GooglePlayServiceライブラリプロジェクトgoogle-play-services.jarで同じエラーメッセージが表示されました。
私たちはmavenを使っています、このため私は自分のローカルのmavenリポジトリにライブラリを追加しなければなりません(mvn install:install-file -Dfile = xxx)。
これで、ライブラリは「Javaビルドパス」 - >ライブラリの2つになりました。
この問題を解決するには、google-play-services_lib/libsディレクトリからライブラリを 削除 /削除する必要があります(jarが自動的に使用されます)。
'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
私の場合は、 "src/com/..."ディレクトリ内の ".apk"ファイルを削除し、プロジェクトを消去して実行します。
私は以前の提案をすべて試してみましたが、うまくいきませんでした。
参照ライブラリから生成されたRパッケージを削除してください。時にはClean and Rebuildは古いRが生成したファイルを削除しません。
Binフォルダがビルドパスにないことを確認してください。
このエラーは私が.jarファイルをインポートしたときに発生し(実際問題としてはhttpmime-4.3.jarでした)、それを使用しようとしました。私にとっての解決策は簡単でした。私はlibsフォルダーから.jarファイルを削除し、それをOrder and Exportから削除しました。プロジェクトを再度実行してもうまくいきました。再度.jarファイルを追加したところ、やっと問題はありませんでした。