Version: 2023.1
言語: 日本語
Android 用のビルドと提出
Modify Gradle project files

Gradle テンプレート

Gradle テンプレートは、Gradle で Android アプリケーションをビルドする方法を設定します。各 Gradle テンプレートは 1 つの Gradle プロジェクトを表します。Gradle プロジェクトは他の Gradle プロジェクトを含むことや、他の Gradle プロジェクトに依存することができます。

Gradle テンプレートファイル

Gradle テンプレートは以下のファイルで構成されています。

ファイル 場所 含まれるもの
baseProjectTemplate.gradle エクスポートしたプロジェクトの root/build.gradle フォルダー 最終的な Gradleプロジェクトのすべてのモジュールに影響する設定情報が含まれています。どの Android Gradle Plugin のバージョンを使用するか、また java プラグインの場所を指定します。場所は、このプロジェクト内のオンラインレポジトリと java プラグインの組み合わせです。
launcherTemplate.gradle エクスポートしたプロジェクトの root/launcher/build.gradle folder フォルダー Android アプリケーションのビルド方法 (バンドル、署名、APK 分割) のインストラクションが含まれています。unityLibrary プロジェクトに依存し、.apk ファイルまたはアプリケーションバンドルを出力します。
mainTemplate.gradle エクスポートしたプロジェクトの root/unityLibrary/build.gradle フォルダー Unity をライブラリにしてビルドする方法のインストラクションが含まれます。 .aar ファイルを出力します。Unity エディターで Unity テンプレートをカスタムテンプレートでオーバーライドできます。詳細は、このページのカスタムの Gradle ビルドテンプレートの提供についてを参照してください。
libTemplate.gradle 任意 Android Library Project プラグインに build.gradle ファイルが含まれていない場合、Unity は libTemplate.gradle ファイルをテンプレートとして使用し、ファイルを生成します。Unity が build.gradle ファイルを生成した後、またはプラグインのディレクトリに既に存在する場合、Unity はプラグインを Gradle プロジェクトへコピーします。
settingsTemplate.gradle エクスポートしたプロジェクトの root/settings.gradle ファイル Gradle ビルドシステムがプロジェクトをビルドするときに含むべきモジュールの名前を指定します。Unity テンプレートを Unity エディターのカスタムテンプレートで上書きすることができます。詳細については、このページのカスタム Gradle ビルドテンプレートの提供についてを参照してください。
gradleTemplate.properties エクスポートしたプロジェクトの root/gradle.properties ファイル Gradle ビルドシステムを設定し、Java 仮想マシン (JVM) ヒープ のサイズなどのプロパティを指定します。

To have more control over the Gradle project files that Unity produces, you can override Unity’s default Gradle template files. For information on how to do this, refer to Modify Gradle project files with Gradle template files.

エクスポートされた Gradle プロジェクトを C# を使用して修正する

Unity が組み立てた後に Gradle プロジェクトを変更するには、IPostGenerateGradleAndroidProject を継承するクラスを作成し、OnPostGenerateGradleAndroidProject 関数をオーバーライドしてください。この関数は、パラメーターとして unityLibrary モジュールへのパスを受け取り、それを使って C# スクリプトを通してアプリケーションのマニフェストとリソースにアクセスできます。

注意: Unity はインクリメンタルな (増分) ビルドパイプラインを使用するようになり、同じ Gradle プロジェクトを連続したビルドに再利用するようになりました。これは、Unity がビルドごとに新しい Gradle プロジェクトを作成しなくなったため、この API を使用して行った変更が蓄積されることを意味します。例えば、この API を使って Gradle プロジェクトにファイルを追加する場合、最初のビルドは期待通りに動作しますが、2 回目のビルドではそのファイルはすでに存在しています。2 つ目の例は、この API を使用して特定のファイルに許可を追加する場合です。各連続するビルドは、許可のための別のエントリーを追加します。行いたい変更が、まだビルドに存在しないことを確認することが非常に重要です。

Android 用のビルドと提出
Modify Gradle project files