2013-05-12 23 views
5

2つの外部ライブラリ(ライブラリAとライブラリB)をEclipseのプロジェクトにインポートします。これらのライブラリには両方とも "android-support-v4.jar"ライブラリが必要です。だから、コンパイルするとき、それはエラーの原因となった:複数の "android-support-v4"ライブラリ間の競合

 
Jar mismatch! Fix your dependencies 

私はすべての同様の質問を読んで、そして私のプロジェクトからライブラリー「androiサポート-v4.jar」を削除しようとしました。プロパティ - > Javaビルドパス - >ライブラリ - >選択 "android-support-v4.jar" - >すべてのボタンは無効になっています。私はそれを削除することはできませんか?

enter image description here

でも、場合には、私は私のプロジェクトから「アンドロイド・サポート・v4.jar」を削除でき、AとBの両方が必要「アンドロイドので2つのライブラリAとBの間に矛盾がまだあります-support-v4.jar "と入力します。ライブラリAから "android-support-v4.jar"を削除すると、ライブラリAはコンパイルできません。

+3

このjarをプロジェクト階層から削除します。次に、ここで他のものをコピーしてプロパティから追加します。両方が同じJarであることを確認してください。これを試しましたか? –

+0

/libs/folderを削除します – Blundell

+0

私のプロジェクトから "android-support-v4.jar"を削除しました。しかし、2つのライブラリAとBの間には依然として競合があります。ライブラリAから "android-support-v4.jar"を削除した場合(ライブラリ/フォルダを削除してください)、ライブラリAはコンパイルできません。 – chipbk10

答えて

9

お返事ありがとうございます@SercanOzdemir。解決策は私のプロジェクトであり、すべての依存関係ライブラリは1つの "android-support-v4.jar"に推論する必要があります。だから私は何をすべきか私のプロジェクトで

  • が、私は図書館BでライブラリA
  • から「アンドロイド・サポート・v4.jar」を追加している、私はそのjarファイルを削除し、また、アンドロイド・サポート - 」を追加しますv4.jarライブラリAから 『アンドロイド・サポート・v4.jar」ライブラリAは

だから、すべては一つだけに推測から』

+0

あなたの歓迎^^ –

2

あなたはSupportLibrary jarファイルを持つ新しいライブラリプロジェクトを作成し、持つことができますサポートライブラリを必要とするすべてのプロジェクトで参照されます。このようにして、jarファイルのコピーを1つだけ管理するだけです。サポートライブラリを更新するたびにきれいにビルドするようにしてください。

SupportLibraryの共通のコピーを保持し、すべてのプロジェクトでビルドパスの外部jarとして追加することができます。しかし、プロジェクトを作成することでできるだけ早くライブラリを更新することはできません。

PS:SupportLibraryプロジェクトを作成するときは、リソースの一部としてリソースが含まれていないことを確認してください。通常、eclipseは新しいプロジェクトを作成するときに値-v11/styles.xmlとvalues-v14/styles.xmlを作成します。これにより、別のライブラリプロジェクトにSupportLibraryプロジェクトが含まれている場合(特にHoneycombの下にあるAPIをターゲットにしている場合)ビルドが失敗する可能性があります。

関連する問題