Androidへのエクスポート

Android向けのエクスポートは、Godotをコンパイルするよりも要件が少ないです。次の手順では、SDKとエンジンのセットアップに必要なものについて詳しく説明します。

Android SDKをダウンロード

developer.android.com からAndroid SDKをダウンロードしてインストールします。

Android Studioをインストールする場合、SDKのセットアップを完了するために1回実行する必要があります。

Install OpenJDK 8

Download and install OpenJDK 8, newer versions do not work.

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

Androidでは、デバイスにインストールし、リリースされていないAPKを配布するためのデバッグキーストアファイルが必要です。以前にSDKを使用してプロジェクトをビルドしたことがある場合は、antまたはeclipseによってプロジェクトが生成される可能性があります(LinuxとmacOSの場合、~/.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記事 を参照してください。

アンドロイドデバッグブリッジ(adb)を持っていることを確認します

Androidデバッグブリッジ(adb) は、Androidデバイスとの通信に使用されるコマンドラインツールです。 SDKと共にインストールされますが、SDKディレクトリにインストールするためにAndroid APIレベルのいずれか1つ(任意)をインストールする必要があります。

Godotで設定する

Enter the Editor Settings screen. This screen contains the editor settings for the user account in the computer (it's independent of the project).

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

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

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

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

  • adb 実行可能ファイル(Windowsでは adb.exe) - 通常は %LOCALAPPDATA%\Android\Sdk\platform-tools\adb.exe にあります。
  • The jarsigner executable (from JDK 6 or 8) - On Windows, OpenJDK installs to a directory like %PROGRAMFILES%\AdoptOpenJDK\jdk-8.0.252.09-hotspot\bin. On Linux, it typically installs to a directory like /usr/bin/jarsigner. The exact path may vary depending on the OpenJDK update you've installed and your machine's operating system.
  • デバック .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 requested icons, and at least with the specified resolutions. Only this way your application will look great on all Android devices and versions.

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

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

keytool -v -genkey -v -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 ファイルまたは同等のファイルに追加する必要があります。

APKの名前を選択する際は、[** Export with Debug **]チェックボックスをオフにすることを忘れないでください。

../../../_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エクスポートテンプレートをコンパイルすることにより、サイズをさらに最適化できます。詳細については、ビルドのサイズを最適化する を参照してください。