1

Eclipse のライブラリ プロジェクトに変換した作業中のアプリがあります。ライブラリを空のアプリ (ライブラリから継承するもの以外の機能はありません) に「プロジェクト参照」として含めようとすると、ビルドに失敗します。メッセージが表示されますUnable to execute dex: Multiple dex files define Lcom/facebook/android/R$attr;

これを回避するために、Android 依存関係を完全に削除しようとしました。しかし、ライブラリ内のクラスに対して「クラスが見つからないという例外」が発生します。

アプリ ライブラリの依存関係を削除せずに、Facebook の依存関係を削除することは可能ですか? facebooksdk.jar ファイルを削除しようとしましたが、すべてのボタンがグレー表示されているため削除できませんでした。(以下のスクリーン キャプチャを参照)

facebooksdk.jar の削除を試みる

また、「注文とエクスポート」の「Android 依存関係」のチェックを外してみました。それは問題に影響を与えませんでした。

あなたの提案は大歓迎です。


参考までに、私のプロジェクトには 3 つの主要コンポーネントがあります。3 つすべてが同じ Eclipse プロジェクト フォルダーに含まれています (スクリーン キャプチャを参照)。

Eclipse プロジェクト ビュー

  • アプリケーション「App_A」
  • Library_L (「A」のプロジェクト リファレンスとして含まれています) 非ライブラリ プロジェクトとして実行すると、Library_L が完全に実行されることは注目に値します。
  • Facebook SDK 3.0.2 (Library_L の Project Reference として含まれています (スクリーン キャプチャを参照) ライブラリのプロジェクト リファレンス
4

1 に答える 1

1

プロジェクト参照は、ライブラリ プロジェクト (Facebook SDK など) を含めるために使用されます。

ドキュメンテーション(およびハゲ男による書籍) では、Android ライブラリ プロジェクトをアプリにアタッチする方法が示されていますが、「プロジェクト リファレンス」とは関係ありません。

同様に、Facebook SDK のドキュメントには、Android ライブラリ プロジェクトをアプリにアタッチする方法が示されています (手順 6 を参照)。それらは標準の Android ライブラリ プロジェクト アプローチに従いますが、これにも「プロジェクト参照」は含まれません。

現在、新しい Eclipse バージョン (私は Indigo を実行しています) について、「Project References」に Android ライブラリ プロジェクトがチェック済みとして表示される原因があると考えられますが、私のバージョンではそうではありません。

Android ライブラリ プロジェクトが正しく設定されていることを確認し、それが問題の解決に役立つかどうかを確認してください。

于 2013-08-15T21:47:06.360 に答える