Version: 2021.3
言語: 日本語
Android のビルド設定
Exporting an Android project

Building for Android

このページでは、Android 用の Unity アプリケーションをビルドする方法と、ビルドする際の考慮点を説明しています。Android 用のビルドプロセスと、Unity の使用するツールについては、Unity が Android 用アプリケーションをビルドする方法 を参照してください。

アプリケーションをビルドする代わりに、Unity プロジェクトを Gradle プロジェクトとしてエクスポートし、それを Android Studio にインポートすることもできます。これは、ビルドパイプラインをより精密に制御したい場合や、Unity がアプリケーション用に生成する Android App Manifest を確認または変更したい場合、あるいは Unity 搭載の機能を別の Android アプリケーションに統合する 場合に役立ちます。詳細は Android プロジェクトのエクスポート を参照してください。

Android アプリケーションをホストするデジタル配信サービスの中には、特定の要件を課しているものがあり、これがビルドプロセスに影響する場合があります。例えば Google Play の場合、アプリケーションは APK ではなく Android App Bundle (AAB) である必要があります。特定のデジタル配信サービスをターゲットにビルドする場合は、まずその デジタル配信サービス のドキュメントを参照し、異なる要件を確認してください。

Configuring the build

ビルドを作成する前に、希望のランタイム設定およびビルドシステムプロパティでアプリケーションがビルドされるように、プロジェクトの設定を行ってください。Unity ビルドの設定は、以下の 2 つの設定セットによって構成されます。

公開形式

Unity は、以下の公開形式で Android アプリケーションをビルドすることができます。

デフォルトでは Unity は APK 公開形式で Android アプリケーションをビルドします。AAB としてAndroid アプリケーションをビルドするための設定は、以下の手順で行えます。

  1. File > Build Settings を選択します。
  2. Platform ペイン内のプラットフォームのリストから Android を選択します。
  3. Build App Bundle (Google Play) を有効にします。プロジェクトをエクスポート して Android Studio でビルドするには、Export Project を有効にし、Export for App Bundle を有効にしてください。

Building

Android 用に Unity アプリケーションをビルドするには、以下を行ってください。

  1. File > Build Settings を選択します。
  2. From the list of platforms in the Platform pane, select Android.
    Note: If Android is greyed out, set up your project for Android development.
  3. Disable Export Project. If you want to export your project for Android Studio instead of building it within Unity, see Exporting your Android project.
  4. Click either Build or Build and Run.
  5. Select the destination for Unity to place the application. If you selected Build and Run, Unity also installs the application on the Android device connected to your computer.
  6. Click Save. This starts the build.

Build and Run を選択すると、Unity はビルド作成時に以下を実行します。

  • プレイヤー設定の Split Application Binary が有効で、ビルド設定の Build App Bundle (Google Play) が無効になっている場合、Unity は APK 用に Android 拡張ファイル (OBB) を構築し、デバイス上の正しい場所に配置します。
  • ビルド設定の Development Build Build Setting が有効になっている場合、Unity は、Profiler トンネルも設定し、アプリケーションを起動する前に CheckJNI を有効にします。

ヒント: 出力パスの初回指定後は、Ctrl+B (macOS では Cmd+B) のキーボードショートカットでアプリケーションをビルドして実行 (Build and Run) できます。

アプリケーションへの署名

Android アプリケーションを Android 端末で実行するには、デジタル署名が必要です。アプリケーションへの署名には、以下の 2 種類があります。

  • デバッグ署名: 新規 Unity プロジェクトのデフォルトの署名方式です。デバッグ署名を使用したアプリケーションは、Android 端末で実行することができますが、公開することはできません。
  • カスタム署名: カスタム署名情報の提供時に Gradle によって使用される署名方式です。カスタム署名を使用したアプリケーションは、Android デバイス上で実行することも、公開することもできます。

カスタム署名情報を提供するには、キーストアを作成 し、それを Publishing Settings 内に読み込んでください

カスタム署名情報が提供された際、Unity はセキュリティ上の理由から、キーストアとキーパスワードをディスクに保存しません。つまり、Unity エディターを再起動するたびにキーパスワードを再入力する必要があります。パスワードを入力せずにアプリケーションをビルドしようとすると、ビルドプロセスが失敗します。Unity エディターを開くたびにパスワードを入力しなくて済むようにするには、公開用のアプリケーションをビルドする時にだけカスタム署名情報を提供するのがベストプラクティスです。デバイス上でテストするためのビルドを作成する場合にはカスタム署名情報を提供せず、代わりにデバッグ署名を使用します。

For more information about application signing, see Sign your app.

Distribution size

デジタル配信サービスの中には、アプリケーションの初期インストールサイズに制限を設けているものがあります。Unity は、インストールサイズの最適化のために、以下の方法を提供しています。

Splitting APKs by target architecture

出力アプリケーションが APK 形式を使用している場合は、Player 設定Split APKs by target architecture (ターゲットアーキテクチャごとの APK の分割) でアプリケーションのダウンロードおよびインストールサイズを最適化できます。Unity は、(Player 設定の Target Architectures で選択された全てのターゲット CPU アーキテクチャのバイナリを 1 つの APK に含めて作成するのではなく) CPU アーキテクチャごとに個別の APK を作成します。この APK 一式を デジタル配信サービス にアップロードすれば、アプリケーションをダウンロードする各デバイスに、正しいターゲット CPU アーキテクチャの APK が提供されます。

これは主に Google Play の機能であり、他のデジタル配信サービスでは機能しない可能性があります。詳細は 複数 APK サポート を参照してください。

ノート: Google Play では、新しいアプリケーションは APK ではなく AAB である必要があります。AAB をアップロードすると、Google Play が自動的に、各デバイスの設定に応じて最適化された APK を生成して提供します。

Splitting the application binary

出力アプリケーションを分割することで、初期インストールサイズを小さくすることができます。デバイスは、より軽量なバージョンのアプリケーションをインストールしてから個別にアセットをダウンロードできます。出力アプリケーションが APK 形式を使用している場合は、Unity はアプリケーションを主要な APK と拡張ファイル (OBB) に分割できます。詳細は APK 拡張ファイル を参照してください。出力アプリケーションが AAB 形式を使用している場合は、Unity はアプリケーションを ベースモジュール とアセットパックに分割できます。詳細は Play Asset Delivery を参照してください。

アプリケーションバイナリの分割は、以下の手順で行えます。

  1. Edit > Project Settings を選択します。
  2. Project Settings ウィンドウで Player タブを選択し、Android の Player 設定 (下の画像) を開いてください。
  3. Publishing Settings セクションで Split Application Binary (アプリケーションバイナリの分割) を有効にします。

Compression

Unity がアプリケーションのリソースファイルの圧縮に使用する方法を変更することができます。これによりアプリケーションのサイズの縮小が可能ですが、データの解凍時間が増大する圧縮方法の場合は、ロード時間が増大する可能性があります。

詳細は Compression Method を参照してください。

小型化

ProGuard で小型化を行うことで、アプリケーションのサイズを縮小し、パフォーマンスを向上させることができます。

ProGuard による小型化を有効にするには、以下を行ってください。

  1. Edit > Project Settings を選択します。
  2. Project Settings ウィンドウで Player タブを選択し、Android の Player 設定 (下の画像) を開いてください。
  3. Publishing Settings セクション内の Minify の下で、小型化したいビルドのタイプに応じて ReleaseDebug、あるいは両方を有効にしてください。

ノート: ProGuard はアプリケーションが必要とする重要なコードを削除する場合があるので、小型化する全てのビルドを検査してください。

最小化の処理をより詳細に制御するには、カスタム proguard.txt ファイルを生成し、削除しないものを指定する設定を行います。このファイルを生成するには、Publishing Settings セクションで Custom Proguard File を選択してください。これにより、プロジェクトの Assets/Plugins/Android フォルダーに proguard.txt ファイルが生成されます。ProGuard の小型化の設定方法については ProGuard のドキュメント を参照してください。

Android のビルド設定
Exporting an Android project