スポンサードリンク

「Android 2.xでもActionBar使いたい。」と思って、
ActionBarSherlockを導入したら”Jar mismatch! Fix your dependencies”とEclipseのコンソールにエラーが出たので、その時の対処方法。


導入の方法等は
@gabuさんのAndroid 2.xでAction Barが使えるActionBarSherlockの使い方が非常にわかりやすいです。

最新のAndroid SDKの場合はプロジェクトの作成のウィザードが若干異なりますが、
大体の手順は一緒です。

プロジェクトと作成して、ActionBarSherlockをライブラリを参照するように設定すると
私の場合、下記のようなエラーメッセージが出てEclipseのプロジェクトの部分に×が付きます。

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:
パス: /Users/toro/hoge/ActionBarSherlock/library/libs/android-support-v4.jar
	長さ: 271754
	SHA-1: ababababababababababababababababbabababb
パス: /Users/toro/fuga/ExampleApp/libs/android-support-v4.jar
	長さ: 349252
	SHA-1: abbbabababababababababbaababababbababbbb
Jar mismatch! Fix your dependencies

※SHA-1の値は適当に伏せてます。



エラーメッセージの通り、バージョンの違う2つのandroid-support-v4.jar(Android Support Package)があるよ。と怒られています。
最近はプロジェクトを作成するとAndroid Support Packageが標準でlibsに入るようで、
それとActionBarSherlockで使われている物がコンフリクトしてる模様です。

片方を参照しないようにすればいいだけですので、
ActionBarSherlockプロジェクトのlibs/android-support-v4.jarではなく、
自作のプロジェクトのlibs/android-support-v4.jarをEclipseから削除するようにします。
そうすればエラーはなくなります。

つまり、ActionBarSherlockに付属のandroid-support-v4.jarを利用することになります。

–追記–
上の投稿をしたところ、
@zaki50さんからありがたいお言葉が。

最新ではないSupport Packageを使うことになることに若干のもやもや感があるところだったところに、ありがたいお言葉が!

というわけで、ActionBarSherlockプロジェクト側のlibs/android-support-v4.jarを最新にすることで最新のSupport Packageで使えるようになります。


スポンサードリンク