2013-03-29 17 views
5

私はアンドロイドアプリを持っています。これはjar libと呼ばれるb.jarです。 このb.jar lib。 facebook sdk libを呼び出します。 この状況でアプリケーションをコンパイルすると、常に

が実行できません。複数のdexファイルでLcom/facebook/android/AsyncFacebookRunner $ 1が定義されています。 Dalvik形式への変換に失敗しました:dexを実行できません:複数のdexファイルでLcom/facebook/android/AsyncFacebookRunner $ 1を定義しています。私はそれを動作させるために数日を使用している

は、しかし、私はこの問題に取り組むことができませんでした。 誰もこの問題を解決する方法を知っていますか?

+1

これはおそらくです。 facebook sdk libはどのように含まれていますか、それは瓶ですか?その場合は、プロジェクトに参照されているライブラリプロジェクトやビルドパスなどには表示されないように、プロジェクトには一度だけ含まれていることを確認してください。 – ab11

+0

Properties-> Android-> Library-> Add to my b libプロジェクトからfacebook libプロジェクトを追加しました。次に、Properties-> Android-> Library-> Addのメインアプリケーションにb libプロジェクトを追加します。私はこの問題を、この状況で設定したときに満たします。誰もそれを解決するためのアイデアを持っていますか? –

+1

@JackyLamこんにちは、私は同じ問題に直面しています。あなたが問題を解決したことを願っていますか?どのようにしてそれを共有してください? –

答えて

4

プロジェクトのプロパティに移動し、その後、Javaビルド・パスには、 - >ライブラリ - > Androidの依存関係を削除し、[OK]を、あなたのプロジェクト

から参照を実行します。私のために完全に働いたhttps://stackoverflow.com/a/15247670/1585773

を。

+0

が私のために働いていない – ajbraus

+0

Facebookのsdksがライブラリとして参照されている場合、JavaのビルドパスからAndroidの依存関係を削除すると、プロジェクトはコンパイルされず、AndroidにJarが表示される依存関係 – Jasper

3

すべての答えは回避されています。彼らは問題の根本的な原因を解決しません。プロジェクトの構造を見ると、FacebookSDKプロジェクトとプロジェクトがあります。どちらのプロジェクトでも、com.facebook.android(最初のjavaファイルはAsyncFacebookRunner)パッケージには、同じjavaファイルが含まれています。明らかに、複数のdexファイルがクラスファイルを定義し、エラーが発生します。

ソリューション - あなたのメインプロジェクト(ないFacebookSDK)からcom.facebook.androidを削除します。私にとって

+0

+1 " "私はインターネットを磨き、回避策を見つけるだけだ。私は複数のプロジェクトデクシングがどのように機能するかに関する記事を殺すだろう – slezica

0

AddThisのSDKは、それに埋め込まれたFacebookのSDKの一部のコピーを含んでいるので、これは、AddThisのSDKとの競合によって引き起こされました。そして、com/facebook/android/AsyncFacebookRunnerクラスが2回定義されました。

使用するコマンドzip -d addthis0.0.8.jar com/facebook/*ターミナル内に:第二の回答から、この手順を使用することにより、

Android AddThis sdk + Facebook sdk won't build in Android Studio

Android Studio - App Crashing on AddThis.jar - "Sources Not Found" Message

具体的に:

私はこの使用して、これらの答えを解決することができました addthis0.0.8.jarからFacebookファイルを削除

私は、Eclipseを使用していますので、私はそれらの答えの他のステップのいずれかを実行する必要はありませんでした。同じjarファイルが複数回、プロジェクトに含まれているため

関連する問題