Version: 2021.3
言語: 日本語
Unity ライブラリマニフェスト
Android 用の開発を始める

Unity が Android アプリケーションをビルドする方法

Unity は Gradle を使用して Android アプリケーションをビルドするので、ビルドプロセスや、Unity がどのように Gradle と相互作用するのかを理解することは有用です。Gradle では、Player 設定 などの Unity のウィンドウを使って最終的なビルドのほとんどの側面を設定できますが、より自在に制御するには、マニフェスト および テンプレート ファイルを上書きするか、プロジェクトをエクスポートして Android Studio で編集する必要があります。

ビルドプロセス

Android アプリケーションは、以下のようにビルドされます。

  1. Unity が、プロジェクトリソース、コードライブラリ、プラグイン、Gradle テンプレート、マニフェストテンプレートを Unity プロジェクトから収集し、これらを使用して有効な Gradle プロジェクトを作成します。
  2. Unity が、Unity プロジェクトのプレイヤー設定とビルド設定に基づいて、Gradle テンプレート内およびマニフェストファイル内の値を追加、更新します。
  3. プロジェクトをビルドするのではなくエクスポートすることを選択し、IL2CPP スクリプティングバックエンド を使用する場合は、Unity が、C# スクリプトから生成された C++ ソースファイルを Gradle プロジェクト内に配置します。そうではなくプロジェクトをビルドすることを選択した場合、Unity は libil2cpp.so ライブラリを Gradle プロジェクト内に配置します。
  4. Unity が、OnPostGenerateGradleAndroidProject を、すべての IPostGenerateGradleAndroidProject インターフェースに対して呼び出します。このコールバックを使用して、Gradle がアプリケーションをビルドする前に、ファイルを修正または移動することができます。
  5. Unity が Gradle を実行し、Gradle プロジェクトからアプリケーションをビルドします。Gradle は、Unity ライブラリマニフェスト、Unity ランチャーマニフェスト (Launcher Manifest)、およびプラグインマニフェストを、1 つの Android アプリマニフェスト ファイル内にマージします。

インクリメンタルビルドパイプライン

Unity は、Android 用のプレイヤーをビルドする際に インクリメンタルビルドパイプライン を使用します。Android 固有のインクリメンタルビルドパイプラインの動作に関しては、以下を参照してください。

インクリメンタルビルドパイプラインが使用する Android ファイルやアセットの変更/移動を行うコールバックを実装する場合は、非インクリメンタルビルドの作成 を参照してください。

Unity ライブラリマニフェスト
Android 用の開発を始める