130

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

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

4

14 に答える 14

177

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

1 つ削除します。

私はビルドパスで遊んでいますが、成功していません。

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

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

ステップ #3: 適切な JAR を に入れApp Libraryます。

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

代わりに、同じ実際の JAR ファイルを両方の場所 (App FreeApp Library) に置くことは大歓迎ですが、それは理由もなく余分なスペースを占有します。

于 2012-08-20T21:42:29.457 に答える
24
  1. AppFreeからandroid-support-v4.jarを削除します
  2. 同じファイルをAppLibraryからAppFreeに追加します
于 2012-12-11T05:14:26.273 に答える
11

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

  • libフェイスブック
  • libsherlockアクションバー

これらのプロジェクトはどちらも独立しており、私のproject.properties見た目は次のようになります。

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

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

于 2013-12-22T07:40:52.653 に答える
8

これは、ファイルを削除して追加するよりも洗練された修正です!

あなたはただする必要があります:

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

その後、Android サポート ライブラリが同期されます (:

于 2014-07-07T11:39:29.363 に答える
7

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

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

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

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

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

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

于 2014-11-20T11:14:39.237 に答える
5

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

于 2013-01-10T21:28:26.097 に答える
4

解像度:

  1. 「無料」プロジェクト > Android ツール > サポート ライブラリの追加を右クリックします。
  2. 「有料」プロジェクトで同じことを行います。
  3. すべてのプロジェクトをクリーンアップ
于 2014-03-01T17:36:35.603 に答える
1

この問題が発生しましたが、競合するandroid-support-v4.jarを削除する代わりに、名前をandroid- support-v4_PROJECT.jarに変更して、競合を削除しました。

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

于 2015-02-21T21:42:14.127 に答える
1

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

于 2013-11-06T07:47:47.317 に答える
1

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

に行く

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

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

それで

プロジェクト > クリーン

それが動作します!

于 2014-08-18T04:29:05.780 に答える
0

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

他に何もすることはなく、きれいにして楽しんでください:)

于 2014-10-30T10:12:33.140 に答える