8

アプリのライブラリ プロジェクトを作成しました。ライブラリをプロジェクトに追加しようとすると、実行しようとすると次のエラーが発生します。

[2013-02-07 04:51:26 - Dex Loader] Unable to execute dex: Multiple dex files define Lcom/actionbarsherlock/R$attr;
[2013-02-07 04:51:26 - testfromlibrary] Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Lcom/actionbarsherlock/R$attr;

HoloEverywhere ライブラリを自分のライブラリに追加しましたが、ActionBarSherlock ライブラリを HoloEverywhere に追加しました。Windows 7 で Eclipse を使用しています。

SDK を最新バージョンに更新し、Eclipse を再起動し、さまざまなプロジェクトをクリーンアップしても、エラーは解決しません。

このエラーを解決する方法を知っている人はいますか? プロパティの下のビルド パスに私のbin ディレクトリが含まれていないため、bin フォルダーを完全に削除しようとしました。

ありがとう!

4

12 に答える 12

18

プロパティ -> Java Build Path -> Order and Export に移動し、Android Private Libraries を削除すると、プロジェクトが正常にビルドされることがわかりました。そこには別のサポート v4 jar があり、アクション バーのシャーロック サポート v4 ライブラリと競合していました。

于 2013-08-14T17:54:56.587 に答える
8

この問題は、actionbarsherlock と組み合わせてライブラリを作成すると発生します。この場合、日食は私のライブラリとそれを使用するプロジェクトでシャーロックからRを作成します。

解決策は、ライブラリの bin フォルダーで、R クラスを含むフォルダー actionbarsherlock のみを削除することです。このインスタンスは作成されなくなり、プロジェクト アプリにのみ存在します。

于 2013-04-07T02:49:30.027 に答える
5

エラーの原因を /bin/classes に特定しました。アプリを実行する前に /classes ディレクトリを削除すると、アプリはコンパイルされて実行されます。もちろん、アプリを実際にエクスポートしようとすると、/classes dir が戻ってきて、それに伴ってエラーが発生します。

私の問題の解決策は、最新バージョンの Eclipse をインストールすることでした。Eclipse の最新インストールを使用してアプリをエクスポートまたは実行すると、/classes フォルダーが表示されなくなります。

于 2013-02-07T21:55:48.503 に答える
3

私にとっての問題は、クラスファイルの重複でした。同じプロジェクトに、パッケージ自体とパッケージの jar SDK (libs フォルダー内) の両方がありました。

于 2013-04-30T12:28:29.590 に答える
3

これは、無料/有料プロジェクトの分割セットアップに使用するために、通常の Android プロジェクトをライブラリ プロジェクトに変更した後に発生しました。

無料/有料プロジェクトのいずれかを実行すると、OPs エラーが発生します。

問題は、ベース プロジェクトが通常のプロジェクトであり、ライブラリ プロジェクトではない場合に、コンパイルの一部が残っていたことです。ワークスペースをクリーンアップして、すべてのプロジェクトを再構築するだけです。古いコンパイル ジャンクが削除され、すべてが正しいライブラリにコンパイルされます。エラーが発生したプロジェクトを再実行してみてください。今はすべて問題ないはずです。

于 2013-09-14T22:42:28.037 に答える
1

今日も同じ問題がありました。/bin 内の .apk ファイルを削除したところ、修正されたようです。

于 2013-02-09T13:19:08.143 に答える
0

プロジェクトがライブラリ プロジェクトを参照している場合 - ライブラリ プロジェクトに、プロジェクトで使用しているのと同じライブラリがあるが、バージョンが異なるかどうかを確認してください。どこでも同じバージョンを使用すれば、すべて問題ありません。

于 2015-05-27T15:24:28.390 に答える
0

Android Studio の場合 - 重複する .jar インポートを削除し、解決しました。

詳細: ベースの /common フォルダーと、そこから継承された 2 つのフォルダー (アプリの無料バージョンと有料バージョン) を持つアプリがありました。この問題は、/common フォルダーと /free フォルダーの両方にプロジェクト構造に同じ crashlytics jar ファイルが含まれている場合に発生しました。

于 2015-01-29T22:00:40.617 に答える
0

タトルテールを使用できます

JAR ファイル内で重複しているクラスを特定するのに役立ちます。

それが役に立てば幸い。

于 2014-08-08T05:01:19.383 に答える