現在 Steam で GameMaker Studio2 関連のものがセール中(33%引き)となっています
"2020年9月8日まで" のセールとなっているので、購入予定の方はお早めに……!
私もせっかくなのでこの機会に Mobileビルドモジュールを購入しました。(すでにHTML5は持っていたので、バンドルセットを選んで41%引き)
ということで、ここでは、Androidの環境セットアップ手順を紹介します。
大まかな手順としては以下のとおりです。
- Android Studioをインストールして、SDK/NDKをインストール
- GameMaker Studio2側でSDK/NDKなどのパスを設定
- キーストアの作成
- デバイス接続設定・転送
参考にした元の情報は公式ページにまとまっているので、ここを読めばだいたい解決できます。
1. Android Studioをインストールして、SDK/NDKをインストール
まずは "Android Studio" のインストールです。以下からダウンロードを行い、インストーラーを実行します。
新規で設定を行う場合は、"Do not import setting" を選択。
Data Sharingの送信は無効にする ("Don't send" を選択)
※ "SDK Folder" / "JDK Location" の設定は後で GameMaker Studio2 側で設定するので、パスをメモしておいたほうが良いです
※ "SDK Folder" については、後で "Android SDK Location" という項目で表示されます
ダウンロードが始まるので、しばらく待ちます。
途中でインストール権限の確認が表示される場合は、適切に許可をします。
次に、WelcomeページからConfigure > SDK Manager
を選択します。
- "Android SDK Location" をテキストにコピーしておきます(以前表示された "SDK Folder" と同じものです)※注意:このパスを変更する場合、空白文字や全角文字が含まれない短いパスにすると、余計な不具合に悩まされる可能性が減ります
-
SDK Tools
のタブをクリックします -
Show Package Details
にチェックを入れます
すると各ツールの詳細な設定ができるようになるので、
- Android SDK 29.0.2
- NDK 20.0.5594570
にチェックを入れます。
2020.9.5 現在 (v2.3.0) ではこのバージョンが推奨されていますが、今後はもう少し上のバージョンに変更される可能性があります。
参考ページ ⇢ https://help.yoyogames.com/hc/en-us/articles/227860547
- We recommend Android API 29 / NDK 20 for all projects. API 29 is only supported in 2.2.4+.
- For your JDK location, use the location of the OpenJDK 8 install which is included by default in your Android Studio installation. Gradle does not support any version of JDK 9 or newer, so stick with this Android Studio version.
2020.9.5時点では、"Android API 29" / "NDK 20" が推奨環境のようです。
ということで、インストール設定ができたら、OK
を押してインストールを開始します。
確認画面が表示されるので、OKを押します。
(画像ではすでにインストールされた最新のものを削除していますが、特に消す必要はないのかもしれません
ライセンス確認が表示されるので、"Accept" を選んで、"Next"をクリックします。
インストールが開始するので、しばらく待ちます。
インストールが完了したら Finish
をクリック。
これでツールのインストールは完了です。
次は、GameMaker Studio2 側の設定です。
2. GameMaker Studio2側でインストールしたパスを設定
GameMaker Studio2を起動してプロジェクトを開きます。
そして環境設定 "Preferences" を選択。
Platform Settings > Android
でAndroid用の設定を開きます。
"Android SDK location / Android NDK location / Java JDK location" の3つの項目を設定します。私の環境では以下のようになりました。
- Android SDK location: /Users/syun/Library/Android/sdk
- Android NDK location: /Users/syun/Library/Android/sdk/ndk/20.0.5594570
- Java JDK location: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home
NDK は SDKフォルダの中にバージョンごとに分けてインストールされます(Side by Sideの場合)。
さらにこの画面で、キーストア(認証キーのようなもの)の生成を行います。画面は開いたままで次の項へ……
3. キーストアの作成
先程のパス設定画面を下にスクロールすると、以下の項目があります。
- Filename: キーストアファイルのパス(最初は設定不要)
- Common Name: あなたの名前を入れる
- Password: パスワード (6文字以上)
- Alias: キーストアのユーザ名
- Alias: キーストアのパスワード
- Organisations Unit: 組織単位
- Organisation: 組織名
- Location: 拠点とする場所 ("Tokyo" など)
- Country: 国を示す2文字のコード (日本なら"JP")
Filename
は特に記入せずに、それ以外の項目に適切に入力します。おそらくですが、パスワード以外はあまり重要でないような気がします。気になる場合は 「Android キーストア」でGoogle検索すると色々見つかると思うので、そのあたりを参考に入力します。(この設定情報はスクリーンショットを撮っておくなどして、保管しておくほうが良いようです)
入力ができたらキーストアの出力です。
Generate Keystore
をクリックして、キーストアを生成します。
保存先を決めて適切な場所に保存します。私の環境では /Users/syun/GameMakerStudio2/keystore/keystore.keystore
としました。
これでキーストアの作成は完了です。
4. デバイス接続設定・転送
最後にデバイスの接続設定です。
Androidにアプリを転送するには 端末側の "開発者オプション > USBデバッグ" を有効にする必要があります。
私の持っている端末は Galaxy だったので、ここを参考に有効化しました
https://appllio.com/android-development-mode-settings
なお、"macOSのみ" ファイル転送を有効にするため、以下の Android ファイル転送アプリをインストールする必要があります。
https://www.android.com/filetransfer/
PC(macOS)と端末を接続し、転送の準備ができたら、GameMaker Studio2に戻って、右上のビルド設定から、Platform > Android
を選択します。
そして、Device のとなりにある鉛筆アイコンをクリックします。
Device Editorが開くので、Detect Device
をクリックします。
画像のようにデバイスが検出できたら Test Connection
をクリックしてテスト接続を試します。
接続が正しく行われれば、"Connection to #### Successful" のメッセージが表示されます。
私の環境では、最初うまく行かず、端末とUSBを抜き差ししたら許可設定が再び表示され、それを了承したらうまくいきました。
最後に、ゲーム側の設定の "Game Options"(GameMaker Studio2 のツールバーにある歯車アイコン)をクリックして、設定画面 > Android
を表示します。
- Build Settings から、API Level29 を設定
- Build Tools を "29.0.2" に変更
Support Library の設定は現在使われていないみたいなので、未設定でも良いようです。
それと、Architecture
の設定に全てチェックを入れておきます。
これですべて設定完了!
F5で実行すると、実機にアプリが転送される……はずなのですが、私の環境では以下のエラーが表示されました。
Error : The selected Architecture options do not support this device. Please add Arm64
Achitecture の設定はしたはずなのになぁ……と調べてみると以下の情報が。
Unfortunately, GMS2 has been known to give the incorrect error message before, specifically for building too Android.
残念ながら、GMS2は、特にAndroidをビルドするために、以前に誤ったエラーメッセージを表示することが知られています。
間違ったエラーメッセージだったのか……。
ともかく、原因がよくわからなかったので、GameMaker Studio2 を再起動して、クリーンビルドしたら……うまくいきました!