web-dev-qa-db-ja.com

Jar Mismatch依存関係リストにAndroid-support-v4.jarの2つのバージョンが見つかりました

Androidアプリの2つのバージョン(無料/有料)を作成しようとしています。両方に共通のファイルを含むAndroidライブラリがあります。新しいAndroidプロジェクトを作成し、ライブラリを使用しようとしていますが、以下のエラーが発生します。

Found 2 versions of Android-support-v4.jar in the dependency list,
but not all the versions are identical (check is based on SHA-1 only at this time).
All versions of the libraries must be the same at this time.
Versions found are:
Path: /Users/Zaheer/Developer/App Free/libs/Android-support-v4.jar
    Length: 349252
    SHA-1: 612846c9857077a039b533718f72db3bc041d389
Path: /Users/Zaheer/Developer/App Library/libs/Android-support-v4.jar
    Length: 337562
    SHA-1: 27c24d26e4c5d57976e6926367985548678e913c

これを解決する方法についてのアイデアはありますか?私は成功しないビルドパスで遊んでいます。

130
Zaheer

これを解決する方法についてのアイデアはありますか?

削除してください。

私は成功しないビルドパスで遊んでいます。

ステップ#1:すべてを元に戻します。 EclipseのADTプラグインのR16以降のバージョンでビルドパスをいじっていると、間違っています。

ステップ#2:JARの2つのバージョンのうちの1つを選択するか、SDKインストールの「extras」領域から1つを選択します。

ステップ#3:App Libraryに正しいJARを入れます。

ステップ#4:App FreeからJARを取得するため、App Libraryから1つを削除します。

代わりに、両方のスポット(App FreeおよびApp Library)に同じ実際のJARファイルを配置することを歓迎しますが、それは理由なく余分なスペースを占有するだけです。

176
CommonsWare
  1. App FreeからAndroid-support-v4.jarを削除します
  2. App LibraryからApp Freeに同じファイルを追加します
24
Lee Chun Hoe

上記のソリューションは、主に問題を解決します。これらのソリューションを使用した後、問題は解決しません。それから

プロジェクトフォルダー-> libs->に移動し、「Android-support-v4.jar」を削除します

それが私の問題を解決したので、それがあなたの問題を解決することを望んでいます。

12
Nauman Khalid

libsおよびビルドパスにAndroid-support-v4.jarを含む複数のライブラリプロジェクトがあり、プロジェクトが両方に依存しているシナリオがいくつかあります。たとえば、私の場合、ワークスペースに次のライブラリプロジェクトがあるとします。

  • libfacebook
  • libsherlockactionbar

これらのプロジェクトは両方とも独立しており、私のproject.propertiesは次のようになります。

# Project target.
target=Android-17
Android.library.reference.1=../libfacebook
Android.library.reference.2=../libsherlockactionbar

プロジェクトをビルドすると、同じファイルの2つのコピーへの参照が重複しているjarの不一致の問題が発生します。この問題を解決するために私がやったことは、ちょっとした策略です。 libcommonsおよびlibfacebookを含む、ワークスペース内の他のすべてのlibraryプロジェクトの親としてlibsherlockactionbarという名前の新しいライブラリプロジェクトを作成しました。次に、他のすべてのプロジェクトからサポートライブラリを削除し、libcommonslibsフォルダー内に1つのコピーのみを保持しました。次に、すべてのotherライブラリプロジェクトへの参照としてlibcommonsを追加しました。ワークスペースをきれいにすると、すべてが魅力のように機能します。

11
Subin Sebastian

これは、ファイルを削除および追加するよりもエレガントな修正です!

あなただけが必要です:

  1. プロジェクトApp Freeを右クリックします
  2. [Androidツール]> [サポートライブラリの追加]に移動します
  3. 許可を承認し、ライブラリを更新します
  4. プロジェクトApp Libraryに対してこのプロセスを繰り返します

Androidサポートライブラリは同期されます(:

8
cokeby190

非常にシンプルなソリューション

私の場合、非常にシンプルな解決策が有効でした同じ(Android-support-v4.jar)jarファイルをすべてのプロジェクトにコピーするだけです。これ以上競合はありません。

1いずれかのプロジェクトのlibsフォルダーからjarファイルAndroid-support-v4.jarをコピーします。

2既に存在する2番目のプロジェクトのlibsフォルダーからjarファイルAndroid-support-v4.jarを削除します。

3新しくコピーした最初のプロジェクトのjarファイルを2番目のプロジェクトのlibsフォルダーに貼り付けます。

Jarの不一致の問題は、これまでに解決されます。

7
gprathour

ライブラリをプロジェクトの1つから他のプロジェクトにコピーするだけです。たぶん、タイムスタンプは両方で同じである必要があります。

5
Rafael Sanches

解像度:

  1. 「無料」プロジェクト> Androidツールを右クリックして、サポートライブラリを追加します。
  2. 「有料」プロジェクトでも同じことを行います。
  3. すべてのプロジェクトをきれいにする
4
strawberrywine

関係のないプロジェクトが開いているかどうかを確認してください。それは私にとってはそうだったので、JARファイルの1つが別のプロジェクトに関連していたようです。私が取り組んでいるプロジェクトのビルドで、もう問題はありませんでした!これが誰かを助けることを願っています!

2
Arturas M

まあ..それは私のために働く:

に行く

プロジェクトフォルダー> libs

次に、「Android-support-v4.jar」を削除します

それから

プロジェクト>クリーン

それが動作します!

1
Erick Guerrero

ライブラリとプロジェクトの両方に外部jarを追加するときに同じjarを使用します

1
Pratik Kanade

私はこの問題を抱えていましたが、競合するAndroid-support-v4.jarを削除する代わりに、名前をAndroid-support-v4_PROJECT.jarに変更し、競合を削除しました。

Eclipseでファイルの名前を変更する方法を知りたい場合は、ファイルを強調表示してF2を押すだけです。

1
eBehbahani

2つのプロジェクトを同時に開くことができます(両方ともAndroid-support-v4.jarを使用)。 I close 1 project and every thing ok

0
Grey Wolf

各プロジェクトでまったく同じAndroid-support-v4.jarチェックサムが必要です。このため、競合するプロジェクト/ライブラリのすべてでそれらの1つをコピー/貼り付けできます。

他にやることはありません。きれいにして楽しんでください。

0
tryp