Androidへのエクスポート

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

Android SDKをダウンロード

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

OpenJDKまたはOracleJDKのインストール

OpenJDK <https://github.com/ojdkbuild/ojdkbuild> または Oracle JDK <http://www.oracle.com/technetwork/java/javase/downloads/index.html> をダウンロードしてインストールします。 JDK 8以下のバージョンは動作しない可能性があります。一部のユーザーは、JDK 7のjarsigner(APKの署名に使用)の問題を報告しています。

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

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

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

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

Godotで設定する

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

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

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

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

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

  • adb 実行可能ファイル(Windows上のadb.exe)
  • jarsigner 実行可能ファイル (JDK6または8から)
  • デバッグキーストア

設定が完了すれば、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: Starting from Android 8 (inclusive), Adaptive Icons were introduced. Applications will need to include separate background and foreground icons to have a native look. The user's launcher application will control the icon's animation and masking. Must be at least 432×432 px.

参考

It's important to adhere to some rules when designing adaptive icons. Google Design has provided a nice article that helps to understand those rules and some of the capabilities of adaptive icons.

ご用心

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

If you don't provide some of the requested icons, Godot will replace them using a fallback chain, trying the next in line when the current one fails:

  • Main Icon: Provided main icon -> Project icon -> Default Godot main icon.
  • Adaptive Icon Foreground: Provided foreground icon -> Provided main icon -> Project icon -> Default Godot foreground icon.
  • Adaptive Icon Background: Provided background icon -> Default Godot background icon.

It's highly recommended to provide all of the requested icons, and at least with the specified resolutions. Only this way your application will look great on all the 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 署名 <https://developer.android.com/studio/publish/app-signing> の詳細をご覧ください。

次に、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 <https://developer.android.com/google/play/publishing/multiple-apks> を使用して、いくつかのAPKをGoogle Playにアップロードできます。各APKは単一のアーキテクチャをターゲットにする必要があります。通常、ARMv7およびARMv8用のAPKを作成するだけで、現在使用されているほとんどのデバイスをカバーできます。

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