[解決済み] Android Studioでfacebook sdkを使用する
質問
私は 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 の新しいバージョンでは、このプロセスは以下のドキュメント (両方の以前のバージョン用に書かれたもの) よりもはるかに単純になります。最新版を実行している場合、必要なことはこれだけです。
- Facebook SDK を次の場所からダウンロードします。 https://developers.facebook.com/docs/android/
- アーカイブを解凍します。
- Android Studio 0.5.5以降で、Fileメニューから"Import Module"を選択します。
- ウィザードで、インポートするモジュールのソースパスを、解凍したアーカイブ内の "facebook" ディレクトリに設定します。(注意: 親フォルダー全体を選択した場合、ライブラリ自体だけでなく、すべてのサンプル アプリを、それぞれ別のモジュールとして取り込むことになります。これは動作するかもしれませんが、おそらくあなたが望むものではありません)。
-
によるプロジェクト構造を開く
Ctrl + Shift + Alt + S
をクリックし、依存関係タブを選択します。クリックすると+
ボタンをクリックし、モジュール依存性を選択します。ポップアップする新しいウィンドウで:facebook.
- これで完了です。
古い 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
ファイルがある場合)。代わりに、以下の手順に従ってください。
-
を作成します。
libraries
フォルダを作成します。 例えば、プロジェクトがHelloWorldProjectであれば、以下のように作成します。 aHelloWorldProject/libraries
フォルダを作成します。 -
ここで
facebook
ディレクトリを のインストール先からlibraries
フォルダにコピーします。 -
を削除します。
libs
のフォルダを削除してください。facebook
ディレクトリに配置します。もし気に入ったら を削除してproject.properties
,build.xml
,.classpath
そして.project
.ファイルも同様です。それらは必要ありません。 -
を作成します。
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プラグインが必要だというエラーが出たら、その行を編集する必要があります。 -
を確認します。 Android サポート ライブラリ がインストールされていることを確認してください。
-
を編集します。
settings.gradle
ファイルを編集してください。 を編集し、次の行を追加します。include ':libraries:facebook'
-
Android Studioですでにプロジェクトを開いている場合は、ツールバーの「"Sync Project with Gradle Files"」ボタンをクリックします。それが完了すると
facebook
モジュールが表示されるはずです。 - プロジェクト構造ダイアログを開きます。左側のリストから[モジュール]を選択します。 を選択し、アプリケーションのモジュールをクリックし、[Dependencies] タブをクリックします。 タブをクリックし、新しい依存関係を追加するために + ボタンをクリックします。
- 選択する "モジュール依存 "を選択します。モジュールのリストを表示するダイアログが表示されます。 ダイアログが表示されますので、「:libraries:facebook」を選択します。
- すべてのダイアログで[OK]をクリックします。 をクリックします。 Android Studio は自動的にプロジェクトを再同期し ("Sync Project with Gradle Files" ボタンを再度クリックする必要がなくなります)、新しい依存関係をピックアップします。 新しい依存関係を取得します。これで完了です。
関連
-
[解決済み] Androidのソフトキーボードをプログラムで閉じる/隠すにはどうすればよいですか?
-
[解決済み] Android Studioでパッケージ名を変更する
-
[解決済み] Android Studioの「assets」フォルダはどこに配置すればいいですか?
-
[解決済み] Android StudioのGradleとは?
-
[解決済み】Android UserManager.isUserAGoat()の正しい使用例?)
-
[解決済み】Android Studio Gradle すでにディスパッチされたモジュール
-
[解決済み】すべてのSDKライセンスを自動的に受け入れる
-
[解決済み] アプリ内課金テスト:android.test.purchased already owned
-
[解決済み] これはどういうことですか?失敗 [INSTALL_FAILED_CONTAINER_ERROR]?
-
[解決済み] グリッドビューの高さが削減される
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Android Webview - キャッシュを完全に削除する
-
[解決済み] Android Debug Bridgeでアプリケーションのインストール時にINSTALL_FAILED_VERSION_DOWNGRADEを無視する方法はありますか?
-
[解決済み] Android ConstraintLayout - あるビューを別のビューの上に配置する
-
[解決済み] APKが署名済みかデバッグビルドかを確認するには?
-
[解決済み] EditTextをReadOnlyにする
-
[解決済み] フラグメント間の値の受け渡し方法
-
[解決済み] アンドロイドのdatepickerダイアログで最大の日付を設定するには?
-
[解決済み] ProjectScopeServices に Factory タイプのサービスはありません。
-
[解決済み] AsyncTaskLoaderとAsyncTaskの比較
-
[解決済み] Androidの環境設定。ユーザーが環境設定画面を使用していない場合、デフォルト値を読み込むにはどうすればよいですか?