このデベロッパー ガイドでは、Google Play Games サービス API を使用する C++ ゲームを Android でコンパイルして実行する方法について説明します。始める前に、次の要件をダウンロードして構成します。
- Android NDK、リビジョン 14 以降。
- Android SDK v10 以降と最新バージョンの Eclipse ADT。
- デバイスで Android 4.0(API レベル 14)以降を実行している必要があります。
- Google Play 開発者サービスの最新バージョンの SDK。
このデベロッパー ガイドでは、Android Native Development Kit(NDK)を使用します。NDK に精通していない場合は、続行する前に NDK のドキュメントとサンプルをご覧ください。
ステップ 1: 環境を設定する
- Android SDK と Android NDK をダウンロードして、マシンに解凍します。環境で、
SDK_ROOT
を Android SDK フォルダの場所、NDK_ROOT
を Android NDK フォルダの場所に設定します。 - C++ サンプルゲームをダウンロードします。このデベロッパー ガイドでは、マシン上のサンプルの場所を
SAMPLES_DIR
としています。 - Google Play Games サービス C++ SDK をダウンロードします。SDK を開発マシンに展開します。環境で、
gpg-cpp-sdk
ディレクトリの上にあるディレクトリを参照するように変数NDK_MODULE_PATH
を設定します。ディレクトリ構造は次のようになります。NDK_MODULE_PATH/ gpg-cpp-sdk/
- Eclipse を開きます。まだ設定していない場合は、[Preferences] > [Android] > [NDK] をクリックして、NDK をインストールした場所を Eclipse に伝えます。
Google Play 開発者サービスのライブラリ プロジェクトを Eclipse ワークスペースにインポートします。
- Eclipse で、[File] > [Import] > [Android] > [Existing Android Code into Workspace] をクリックします。
SDK_ROOT/extras/google/google_play_services/libproject/google-play-services_lib
を選択します。ここで、SDK_ROOT
は Android SDK の場所です。- [Finish] をクリックします。
ミニマリスト サンプル プロジェクトを Eclipse ワークスペースにインポートします。
- Eclipse で、[File] > [Import] > [Android] > [Existing Android Code into Workspace] をクリックします。
- [
SAMPLES_DIR/samples-android/minimalist
] を選択します。 - [Finish] をクリックします。
MinimalistActivity プロジェクトを右クリックして、[プロパティ] をクリックします。[Android] で [Library] セクションまでスクロールし、google-play-services_lib プロジェクトが正しく参照されていることを確認します。解決しない場合は、参照を削除してワークスペースから再度追加します。
Eclipse は、プロジェクトの Java ソースと Android ソースを自動的にコンパイルしますが、jni
フォルダ内のネイティブ コードは個別にコンパイルする必要があります。これを手動で行うには、jni
フォルダに移動して ndk-build
を実行します。jni
フォルダ内で変更を加えた後は、必ずこの操作を行います。
これでプロジェクトはコンパイルされますが、まだ動作しません。まず、Google Play Console でゲームを設定する必要があります。
手順 2: Google Play Console でゲームをセットアップする
Google Play Console にゲームのエントリを作成します。この手順では、そのアプリでゲームサービスを有効にし、まだお持ちでなければ、OAuth 2.0 クライアント ID を作成します。
- Google Play ゲームサービスのセットアップに記載の手順に沿って、ゲームのエントリを作成します。
AndroidManifest.xml
で、<manifest>
タグのpackage
属性を、Google Play Console の設定時に選択したパッケージ名に変更します。この変更を行った後、プロジェクト全体で一部の参照(特に生成されたR
クラスへの参照)を修正しなければならない場合があります。res/values/ids.xml
を開き、アプリ ID を配置します。アプリ ID はクライアント ID とは異なります。Google Play Console の [ゲームの詳細] ページで、ゲーム名の横にある番号がアプリ ID です。
ステップ 3: サンプルを実行する
サンプルを実行するには、Google Play 開発者サービスがインストールされた物理的な Android デバイスまたはエミュレータが必要です。
ndk-build
を実行してネイティブ コードをコンパイルします。- Eclipse で、[Run] > [Run As] > [Android Application] の順にクリックし、デバイスでサンプルを実行します。
- 試聴が開始したら、画面の任意の場所をタップします。Google Play Games のロゴが表示されます。アプリが正しく設定されている場合は、ログインを求めるメッセージが表示されます。
省略可: Eclipse で自動的にビルドする
次の手順では、jni
フォルダ内のファイルを変更したときに ndk-build
を自動的に実行するように Eclipse を構成する方法について説明します。
- MinimalistActivity プロジェクトを右クリックし、[プロパティ] をクリックします。[プロパティ] ウィンドウで、[ビルダー] ペインを選択します。
- [新規] をクリックして新しいビルダーを追加し、[プログラム] を選択して [OK] をクリックします。
- [名前] フィールドに「NDK Builder」と入力します。
- [Location] で [Browse File System] をクリックし、
NDK_ROOT
ディレクトリに移動してndk-build
コマンドを選択します。 - [Working Directory] で [Browse Workspace] をクリックし、MinimalistActivity プロジェクト フォルダを選択します。
- [更新] タブをクリックします。[完了時にリソースを更新] チェックボックスがオンになっていることを確認します。
- [特定のリソース] ラジオボタンを選択し、[リソースを指定] をクリックします。表示されたダイアログで、[MinimalActivity] の下の
jni
フォルダを選択します。 - [適用]、[OK] の順にクリックして、ビルダーの作成を完了します。
これで、jni
フォルダ内のファイルを編集するたびに、Eclipse が ndk-build
を実行し、出力を Eclipse Console に出力します。