1. ホーム
  2. android

[解決済み] Android Studioでfacebook sdkを使用する

2022-10-24 20:14:47

質問

私は Android Studioを使用したFacebook SDK for Androidの開発 . アプリケーションを実行すると、以下のような警告が表示されます。

Gradle: module 'facebook' won't be compiled. Unfortunately you can't have non-Gradle Java module and Android-Gradle module in one project.

どのように解決すればよいのでしょうか?

私は@Scott Bartaの回答を試しましたが、次のエラーメッセージが表示されます。

    A problem occurred configuring project ':App'.
> Failed to notify project evaluation listener.
   > A problem occurred configuring project ':libraries:facebook'.
      > Failed to notify project evaluation listener.
         > Could not resolve all dependencies for configuration ':libraries:facebook:_DebugCompile'.
            > Could not find any version that matches com.android.support:support-v4:+.
              Required by:
                  MyApplication2.libraries:facebook:unspecified

どのように解決するのですか?

注意

Android Studio 0.5.5 以降と Facebook SDK の新しいバージョンでは、このプロセスは以下のドキュメント (両方の以前のバージョン用に書かれたもの) よりもはるかに単純になります。最新版を実行している場合、必要なことはこれだけです。

  1. Facebook SDK を次の場所からダウンロードします。 https://developers.facebook.com/docs/android/
  2. アーカイブを解凍します。
  3. Android Studio 0.5.5以降で、Fileメニューから"Import Module"を選択します。
  4. ウィザードで、インポートするモジュールのソースパスを、解凍したアーカイブ内の "facebook" ディレクトリに設定します。(注意: 親フォルダー全体を選択した場合、ライブラリ自体だけでなく、すべてのサンプル アプリを、それぞれ別のモジュールとして取り込むことになります。これは動作するかもしれませんが、おそらくあなたが望むものではありません)。
  5. によるプロジェクト構造を開く Ctrl + Shift + Alt + S をクリックし、依存関係タブを選択します。クリックすると + ボタンをクリックし、モジュール依存性を選択します。ポップアップする新しいウィンドウで :facebook.
  6. これで完了です。

古い Android Studio と古い Facebook SDK のための手順

これは Android Studio 0.5.4 以前のバージョンに適用され、Facebook が配布用の Gradle ビルド ファイルを提供する以前の Facebook SDK のバージョンに対して最も理にかなっています。SDK のどのバージョンでそのような変更を行ったかはわかりません。

Facebook の「Android Studio プロジェクトへの SDK のインポート」の説明では https://developers.facebook.com/docs/getting-started/facebook-sdk-for-android-using-android-studio/3.0/ ページで説明されている手順は、Gradle ベースのプロジェクト (Android Studio の新規プロジェクト ウィザードを使用してビルドされたプロジェクト、および/または、プロジェクト内で build.gradle ファイルがある場合)。代わりに、以下の手順に従ってください。

  1. を作成します。 libraries フォルダを作成します。 例えば、プロジェクトがHelloWorldProjectであれば、以下のように作成します。 a HelloWorldProject/libraries フォルダを作成します。

  2. ここで facebook ディレクトリを のインストール先から libraries フォルダにコピーします。

  3. を削除します。 libs のフォルダを削除してください。 facebook ディレクトリに配置します。もし気に入ったら を削除して project.properties , build.xml , .classpath そして .project .ファイルも同様です。それらは必要ありません。

  4. を作成します。 build.gradle ファイルを facebook ディレクトリに ファイルを作成します。

    buildscript {
        repositories {
            mavenCentral()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:0.6.+'
        }
    }
    
    apply plugin: 'android-library'
    
    dependencies {
        compile 'com.android.support:support-v4:+'
    }
    
    android {
        compileSdkVersion 17
        buildToolsVersion "19.0.0"
    
        defaultConfig {
            minSdkVersion 7
            targetSdkVersion 16
        }
    
        sourceSets {
            main {
                manifest.srcFile 'AndroidManifest.xml'
                java.srcDirs = ['src']
                resources.srcDirs = ['src']
                res.srcDirs = ['res']
            }
        }
    }
    
    

    この説明が書かれた時と比べて、あなたがこの指示に従う時期によっては classpath 'com.android.tools.build:gradle:0.6.+' 行を調整して、Gradle プラグインの新しいバージョンを参照する必要があるかもしれないことに注意してください。まもなくバージョン 0.7 以降を要求するようになります。試してみて、もし新しいバージョンのGradleプラグインが必要だというエラーが出たら、その行を編集する必要があります。

  5. を確認します。 Android サポート ライブラリ がインストールされていることを確認してください。

  6. を編集します。 settings.gradle ファイルを編集してください。 を編集し、次の行を追加します。

    include ':libraries:facebook'
    
    
  7. Android Studioですでにプロジェクトを開いている場合は、ツールバーの「"Sync Project with Gradle Files"」ボタンをクリックします。それが完了すると facebook モジュールが表示されるはずです。

  8. プロジェクト構造ダイアログを開きます。左側のリストから[モジュール]を選択します。 を選択し、アプリケーションのモジュールをクリックし、[Dependencies] タブをクリックします。 タブをクリックし、新しい依存関係を追加するために + ボタンをクリックします。
  9. 選択する "モジュール依存 "を選択します。モジュールのリストを表示するダイアログが表示されます。 ダイアログが表示されますので、「:libraries:facebook」を選択します。
  10. すべてのダイアログで[OK]をクリックします。 をクリックします。 Android Studio は自動的にプロジェクトを再同期し ("Sync Project with Gradle Files" ボタンを再度クリックする必要がなくなります)、新しい依存関係をピックアップします。 新しい依存関係を取得します。これで完了です。