34

新しいFacebookSDK3.0ベータ版を実装しました。ライブラリプロジェクトには、Androidサポートライブラリv4が含まれています。また、自分のプロジェクトにサポートライブラリがあります(ただし、バージョンは異なります)。Facebook SDKをライブラリとして追加すると、コンソールに次のエラーが表示されます。

Jar mismatch! Fix your dependencies
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.

libsビルドパス上のフォルダーを除外しようとしましたが、エラーが残ります。

両方の場所に同じ.jarを配置する必要があります。ここで何かが足りませんか?アイデアは、自分のプロジェクトのサポートライブラリを使用することです(最新の状態に保つため)。

4

3 に答える 3

122

異なるプロジェクトが2つの別々のサポートライブラリを使用しているように見えるため、チェックサムが異なります。

Facebook SDKプロジェクトと、構築しているアプリの両方に対してこれを繰り返す必要があります。

このエラーが発生したときに行うことは次のとおりです。

  1. プロジェクトを右クリックします。

  2. Androidツールにカーソルを合わせます。

  3. 「サポートライブラリを追加...」をクリックします。

  4. ライブラリのダウンロードを受け入れます。

これにより、次の2つのことが保証されます。Googleのソースからサポートライブラリの最新バージョンを入手し、b。すべてのプロジェクトにまったく同じライブラリがあります。

ハッピーコーディング!

于 2012-11-22T17:06:51.843 に答える
1

プロジェクト内の1つを削除し、クラスパスから削除して、プロジェクトを再構築してみてください。

于 2012-11-22T17:07:38.663 に答える
1

トップアンサーに記載されているメニューから同じバージョンのサポートライブラリをインストールすることは、非常に良い解決策です。

これは時々うまくいかなかったが(WorkspaceフォルダーがDropboxと同期されていることに関係があると思うので、Eclipseはファイルを上書きしないことがある)、私が使用しているアプローチは、中央からサポートライブラリをリンクすることです場所。

SDKフォルダー内にこれらのJARファイル(たとえば、Windowsの場合はC:\ Program Files(x86)\ Android \ android-sdk \ extras \ android \)があり、SDKマネージャーの実行時に更新されるため、これを参照できます。 Facebook(または他のライブラリ)とプロジェクトの両方から1つ。結局、JARファイルからのコードはあなたのにパックされますclasses.dexlibsフォルダ内にサポートライブラリも必要ありません。

また、Gradleビルドシステムとその依存関係管理、またはMavenを使用している場合でも、このような問題は発生しませんが、正しくセットアップするには、より多くの時間と知識が必要です。

于 2014-02-27T14:15:51.477 に答える