web-dev-qa-db-ja.com

ジャーの不一致!依存関係を修正する

再現する手順:

  1. Androidプロジェクト「MyApp」を作成します
  2. actionBarSherlock(ABS)、Directional ViewPager(DVP)、またはAndroidサポートライブラリを使用するその他のオープンソースライブラリをインポートします。
  3. ライブラリをプロジェクト「MyApp」に追加します

コンソールログ:

[2013-04-17 14:27:12 - MyApp] Found 2 versions of Android-support-v4.jar in the dependency list,
[2013-04-17 14:27:12 - MyApp] but not all the versions are identical (check is based on SHA-1 only at this time).
[2013-04-17 14:27:12 - MyApp] All versions of the libraries must be the same at this time.
[2013-04-17 14:27:12 - MyApp] Versions found are:
[2013-04-17 14:27:12 - MyApp] Path: C:\Users\santhosh\My_Workspace\DVP_library\libs\Android-support-v4.jar
[2013-04-17 14:27:12 - MyApp]   Length: 140011
[2013-04-17 14:27:12 - MyApp]   SHA-1: fc834ac8147bc4ed0b555f90f500a57d4232c448
[2013-04-17 14:27:12 - MyApp] Path: C:\Users\santhosh\My_Workspace\abs_library\libs\Android-support-v4.jar
[2013-04-17 14:27:12 - MyApp]   Length: 271754
[2013-04-17 14:27:12 - MyApp]   SHA-1: 53307dc2bd2b69fd5533458ee11885f55807de4b
[2013-04-17 14:27:12 - MyApp] Jar mismatch! Fix your dependencies

libsフォルダーからAndroid-support-v4.jarを削除し、すべてのコピーを1つだけ保持することを想定しています。しかし、それは私の問題を解決していません。

MyAppからAndroid-support-v4.jarを削除しようとすると、次のエラーが表示されます。

 Problems encountered while deleting resources.
 Could not delete 'C:\Users\santhosh\My_Workspace\MyApp\libs\Android-support-v4.jar'.

ABSからAndroid-support-v4.jarを削除しようとすると、次のエラーが表示されます

 ????? cannot be resolved to a type error.

プロジェクトの修正、プロジェクトプロパティの修正を試みました。 Eclipseを再起動し、ビルド、インポート、および追加します。 libsフォルダーのサポートjarをあるライブラリから別のライブラリにコピーしようとしました。両方のライブラリのサポートjarを削除し、MyAppプロジェクトに追加します。何も私のために働いていません。

ライブラリを1つ追加しようとしても問題なく動作します。1つのプロジェクトに2つ以上のライブラリを追加しようとすると問題に直面します。

myAppに2つのライブラリを追加するとエラーが発生します。

The project was not built since its build path is incomplete. 
Cannot find the class file for Android.support.v4.app.FragmentActivity. 
Fix the build path then try building this project MyApp Unknown Java Problem
The type Android.support.v4.app.FragmentActivity cannot be resolved. It is indirectly referenced from required .class files MyActivity.Java/MyApp/src/com/santhosh/myapp    line 10 Java Problem
Jar mismatch! Fix your dependencies MyApp Unknown Android Dependency Problem
71
SKK

サポートライブラリのみにライブラリプロジェクトを使用する

ADT 22、Eclipse Junoを使用

上記のどれもが本当に最良の答えだとは思いません。また、Eclipseでexternal jar関数を使用することは推奨されていないと思います(AFAIK)。

むしろ、私のために働いたのは、別個の空のライブラリプロジェクトを作成することです

次に、Android tools> Add Support Libraryを使用して、必要なまたは必要な最新バージョンを取得します。

次に、他のすべてのプロジェクトからサポートライブラリjarを削除します

最後に、それを必要とするプロジェクトごとに、新しいライブラリプロジェクトへの参照を追加します

(project properties)> Android> (Library box)> Add...

すべてのプロジェクトには、サポートライブラリを使用および更新するための単一のソースがあります。これにより、javadocsの作業が簡単になります。

Javadocsのセットアップ方法については、以下を参照してください。

javasまたはソースをlibsフォルダーのjarにアタッチする方法

49
pjco

ライブラリにAndroid-support-v4を含めないでください。代わりに、build path menu> add external jarを使用して、外部jarとしてプロジェクトに追加できます。

時々、プロジェクトをきれいにしなければなりません。

54

プロジェクトのlibsフォルダーからAndroid-support-v4.jarファイルを削除します。

Actionbarsherlockにはサポートライブラリが含まれています。サポートライブラリもメインプロジェクトにある場合、これはおそらく競合を引き起こします。

プロジェクトのlibsディレクトリからAndroid-support-v4.jarを削除します。

また、2番目のライブラリからAndroid-support-v4.jarを削除してから、再試行してください。

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

7
Raghunandan

私はpjcoに同意します。最善の方法は、 developer.Android.com のチュートリアルの Support Library Setup で説明されている公式の方法です。

次に、Eclipse "package Explorer"で、メインプロジェクトを展開し、削除します Android-support-v4.jar "libs"フォルダーから( Pratik Butani推奨 )。

これは私のために働いた。

5
nettie
  1. Jarの不一致は、アプリケーションでライブラリプロジェクトを使用し、両方のプロジェクトが異なるバージョンの同じjarを使用している場合に発生するため、アプリケーションに添付されているすべてのライブラリプロジェクトをチェックしてください。不一致がある場合は削除します。

  2. 上記のプロセスが機能しない場合は、ビルドパスからプロジェクトの依存関係を削除し、ライブラリプロジェクトを再度追加して、アプリケーションをビルドします。

4
Gopal Sharma

新しいワークスペースを作成し、libを使用してすべてのプロジェクトを適切にインポートし、外部jar Android-support-v4.jarをSDKの追加ファイルのadbバンドルに追加すると思います。私はあなたのために働くと思います。がんばれ

また、Androidサポートライブラリを使用することも役立ちます。また、adtバンドルを更新することもできます。

1
user4004473

ライブラリとアプリケーションの両方でサポートパッケージが必要だと思います。ただし、これを修正するには、両方の場所に同じファイルがあることを確認してください(同じチェックサム)。

1つの場所からサポートパッケージファイルをコピーし、別の場所でコピーしてから、ライブラリ/プロジェクトをクリーン+リフレッシュするだけで準備完了です。

1
waqaslam

私の場合、ワークスペース内に別のディレクトリがあり、プロジェクトのディレクトリと同じjarファイルを持っています。そのディレクトリまたはその中に何も作成していませんでした。私が信じているEclipseによって作成されました。そのディレクトリを消去しただけで、正常に実行されます。

0

プロジェクトを右クリック-> Androidツール->サポートライブラリを追加

0
user5999064