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
これを解決する方法についてのアイデアはありますか?私は成功しないビルドパスで遊んでいます。
これを解決する方法についてのアイデアはありますか?
削除してください。
私は成功しないビルドパスで遊んでいます。
ステップ#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ファイルを配置することを歓迎しますが、それは理由なく余分なスペースを占有するだけです。
上記のソリューションは、主に問題を解決します。これらのソリューションを使用した後、問題は解決しません。それから
プロジェクトフォルダー-> libs->に移動し、「Android-support-v4.jar」を削除します
それが私の問題を解決したので、それがあなたの問題を解決することを望んでいます。
libs
およびビルドパスにAndroid-support-v4.jar
を含む複数のライブラリプロジェクトがあり、プロジェクトが両方に依存しているシナリオがいくつかあります。たとえば、私の場合、ワークスペースに次のライブラリプロジェクトがあるとします。
これらのプロジェクトは両方とも独立しており、私のproject.properties
は次のようになります。
# Project target.
target=Android-17
Android.library.reference.1=../libfacebook
Android.library.reference.2=../libsherlockactionbar
プロジェクトをビルドすると、同じファイルの2つのコピーへの参照が重複しているjarの不一致の問題が発生します。この問題を解決するために私がやったことは、ちょっとした策略です。 libcommons
およびlibfacebook
を含む、ワークスペース内の他のすべてのlibraryプロジェクトの親としてlibsherlockactionbar
という名前の新しいライブラリプロジェクトを作成しました。次に、他のすべてのプロジェクトからサポートライブラリを削除し、libcommons
のlibsフォルダー内に1つのコピーのみを保持しました。次に、すべてのotherライブラリプロジェクトへの参照としてlibcommons
を追加しました。ワークスペースをきれいにすると、すべてが魅力のように機能します。
これは、ファイルを削除および追加するよりもエレガントな修正です!
あなただけが必要です:
Androidサポートライブラリは同期されます(:
私の場合、非常にシンプルな解決策が有効でした同じ(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の不一致の問題は、これまでに解決されます。
ライブラリをプロジェクトの1つから他のプロジェクトにコピーするだけです。たぶん、タイムスタンプは両方で同じである必要があります。
解像度:
関係のないプロジェクトが開いているかどうかを確認してください。それは私にとってはそうだったので、JARファイルの1つが別のプロジェクトに関連していたようです。私が取り組んでいるプロジェクトのビルドで、もう問題はありませんでした!これが誰かを助けることを願っています!
まあ..それは私のために働く:
に行く
プロジェクトフォルダー> libs
次に、「Android-support-v4.jar」を削除します
それから
プロジェクト>クリーン
それが動作します!
ライブラリとプロジェクトの両方に外部jarを追加するときに同じjarを使用します
私はこの問題を抱えていましたが、競合するAndroid-support-v4.jarを削除する代わりに、名前をAndroid-support-v4_PROJECT.jarに変更し、競合を削除しました。
Eclipseでファイルの名前を変更する方法を知りたい場合は、ファイルを強調表示してF2を押すだけです。
2つのプロジェクトを同時に開くことができます(両方ともAndroid-support-v4.jarを使用)。 I close 1 project and every thing ok
各プロジェクトでまったく同じAndroid-support-v4.jarチェックサムが必要です。このため、競合するプロジェクト/ライブラリのすべてでそれらの1つをコピー/貼り付けできます。
他にやることはありません。きれいにして楽しんでください。