Androidへのエクスポート

Android用のエクスポートは、GodotをAndroid用にコンパイルするよりも必要な条件が少ないです。Android SDKとエンジンの設定方法を、以下のステップで詳しく説明します。

Android SDKをダウンロード

Android SDKのダウンロードとインストール

  • Android Studio 4.1 以降 をインストールします。

    • この方法 でツールの更新を行います。

    • 推奨パッケージ がインストールされていることを確認してください。

      • Android SDK Platform-Tools バージョン 30.0.5以降

      • Android SDK Build-Tools version 30.0.3

      • Android SDK Platform 29

      • Android SDK Command-line Tools (最新版)

      • CMake バージョン 3.10.2.4988404

      • NDK バージョン 21.4.7075529

  • コマンドラインツール でもインストールできます。

    • コマンドラインツールインストール後、 sdkmanager コマンドでセットアップを完了します:

sdkmanager --sdk_root=<android_sdk_path> "platform-tools" "build-tools;30.0.3" "platforms;android-29" "cmdline-tools;latest" "cmake;3.10.2.4988404" "ndk;21.4.7075529"

注釈

Linux環境では、ディストリビューションのAndroid SDKは古いことが多いので、使用しないでください

OpenJDK 8のインストール

OpenJDK 8 からダウンロード、インストールしてください。

デバッグキーストアを作成する

Androidでは、デバイスにインストールし、リリース用ではないAPKを配布するための、デバッグキーストアファイルが必要です。以前にSDKを使用してプロジェクトをビルドしたことがある場合は、antまたはeclipseによって作成済みの可能性があります (Linux 、macOSでは、 ~/.android ディレクトリ、Windowsでは C:\Users\<user>\.android\ ディレクトリ )。

見つからない場合や作成する必要がある場合は、JDKのkeytoolコマンドをこの目的に使用できます:

keytool -keyalg RSA -genkeypair -alias androiddebugkey -keypass android -keystore debug.keystore -storepass android -dname "CN=Android Debug,O=Android,C=US" -validity 9999 -deststoretype pkcs12

これにより、現在のディレクトリに debug.keystore ファイルが作成されます。後の手順で場所が必要になるため、%USERPROFILE%\.android\ などの記憶に残る場所に移動する必要があります。keytool の使用方法の詳細については、このQ&A記事 を参照してください。

Godotで設定する

[エディタ設定]画面に移動します。この画面には、コンピュータのユーザー アカウントのエディタ設定が含まれます (プロジェクトから独立しています)。

../../../_images/editorsettings.png

Androidの設定が配置されているセクションまで下にスクロールします:

../../../_images/androidsdk.png

この画面で、2つのファイルパスを設定する必要があります:

  • Android Sdk Path Android SDK のインストール場所。例 Windowsでは``%LOCALAPPDATA%AndroidSdk``、 macOSでは``/Users/$USER/Library/Android/sdk/`` 。

  • デバック .keystore``ファイル - 上記で作成した ``debug.keystore ファイルを置いたフォルダにあります。

設定が完了すれば、Androidにエクスポートできるようになります!

ランチャーアイコンの提供

ランチャーアイコンは、Androidランチャーアプリでユーザーにアプリケーションを表すために使用されます。 Godotは高解像度アイコン(xxxhdpi 密度画面用)のみを必要とし、低解像度のバリアントを自動的に生成します。

Godotに必要なアイコンには2つのタイプがあります:

  • Main Icon: The "classic" icon. This will be used on all Android versions up to Android 8 (Oreo), exclusive. Must be at least 192×192 px.

  • Adaptive Icons: Android 8 からは、アダプティブ アイコンが導入されています。ネイティブの見た目にするには、アプリケーションはアイコンを前面と背景に分けて含める必要があります。アイコンのアニメーションとマスキングは、ランチャーによってコントロールされます。最低でも 432x432 ピクセルが必要。

参考

アダプティブ アイコンをデザインする際は、いくつかのルールに従うことが重要です。Google Designが、それらのルールとアダプティブ アイコンの機能について解説するすばらしい記事を公開 (英語)しています。

注意

The most important adaptive icon design rule is to have your icon critical elements inside the safe zone: a centered circle with a diameter of 66dp (264 pixels on xxxhdpi) to avoid being clipped by the launcher.

もし要求されるアイコンを指定しなかった場合、Godotは失敗するたびにフォールバック チェーンから次のものを試し、置き換えます:

  • Main Icon: 指定されたメイン アイコン -> プロジェクト アイコン -> デフォルトのGodotメインアイコン。

  • Adaptive Icon Foreground: 指定された前面アイコン -> 指定されたメイン アイコン -> プロジェクト アイコン -> デフォルトのGodot前面アイコン。

  • Adaptive Icon Background: 指定された背景アイコン -> デフォルトのGodot背景アイコン。

It's highly recommended to provide all the requested icons with their specified resolutions. This way, your application will look great on all Android devices and versions.

Google Playストア用にエクスポート

APKをGoogleのPlayストアにアップロードするには、デバッグ以外のキーストアファイルを使用して署名する必要があります。このようなファイルは次のように生成できます。

keytool -v -genkey -keystore mygame.keystore -alias mygame -keyalg RSA -validity 10000

このキーストアとキーは、開発者の身元を確認し、パスワードを記憶し、安全な場所に保管するために使用されます。GoogleのAndroidデベロッパー ガイドを使用して、APK 署名 の詳細をご覧ください。

次に、Android エクスポートプリセットで次のフォームに入力します:

../../../_images/editor-export-presets-android.png
  • Release: 生成したばかりのキーストアファイルへのパスを入力します。

  • Release User: キーエイリアスで置き換えます。

  • Release Password: キーパスワード。現在、キーストアのパスワードとキーのパスワードは同じでなければならないことに注意してください。

export_presets.cfgファイルには機密情報が含まれるようになりました。 バージョン管理システムを使用する場合は、パブリックリポジトリから削除し、 .gitignore ファイルまたは同等のファイルに追加する必要があります。

Don't forget to uncheck the Export With Debug checkbox while exporting.

../../../_images/export-with-debug-button.png

APKサイズの最適化

デフォルトでは、APKにはARMv7アーキテクチャとARMv8アーキテクチャの両方のネイティブライブラリが含まれます。これにより、サイズが大幅に増加します。より小さなAPKを作成するには、プロジェクトのAndroidエクスポートプリセットで Armeabi-v 7a または Arm 64 -v 8a のチェックを外します。これにより、単一のアーキテクチャのライブラリのみを含むAPKが作成されます。 ARMv7をターゲットとするアプリケーションはARMv8デバイスでも実行できますが、その逆は当てはまりません。

2019年8月以降、Google Playではすべてのアプリケーションを64ビット形式で利用可能である必要があります。これは、 ARMV7ライブラリ*のみ* を含むAPKはアップロードできないことを意味します。これを解決するには、Multiple APK support を使用して、いくつかのAPKをGoogle Playにアップロードできます。各APKは単一のアーキテクチャをターゲットにする必要があります。通常、ARMv7およびARMv8用のAPKを作成するだけで、現在使用されているほとんどのデバイスをカバーできます。

必要な機能のみを使用してAndroidエクスポートテンプレートをコンパイルすることにより、サイズをさらに最適化できます。詳細については、ビルドのサイズを最適化する を参照してください。