Gradle は、多数のビルドプロセスを自動化する Android のビルドシステムです。この自動化によって、多くの一般的なビルドエラーを回避できます。Unity では、DEX (Dalvik Executable 形式) ファイルのメソッド参照数が減少します。つまり、DEX 制限問題に遭遇する可能性が低くなります。
Unity はすべての Android ビルドに Gradle を使用します。Unity で出力パッケージ (.apk、.aab) をビルドするか、Unity から Gradle プロジェクトをエクスポートしてから、AndroidStudio などの外部ツールを使用してビルドできます。
Unity バージョン | Gradle バージョン |
---|---|
2020.3 starting from 2020.3.15f1 2021.1 starting from 2021.1.16f1 |
6.1.1 |
2020.1, 2020.2, 2020.3 up to and including 2020.3.14f1 2021.1 up to and including 2021.1.15f1 |
5.6.4 |
2019.4 | 5.1.1 |
詳細は以下を参照してください。
Gradle プロジェクトをビルドするには、以下の手順に従います。
以下を選択します。
Unity プロジェクトを Gradle プロジェクトとしてエクスポートするには、Export Project 設定を有効にしてから、Export ボタンを選択します。これを行うと、Unity は指定したフォルダーに Gradle プロジェクトを生成し、.apk ファイルをビルドしません。このプロジェクトを AndroidStudio または別の外部ツールにインポートして、さらに変更を加えたり、そこからビルドしたりできます。
Unity 2019.3 以降のバージョンでは、2 つのモジュールを持つ Gradle プロジェクトが作成されます。
Gradle テンプレートは、Gradle で Android アプリをビルドする方法を示し、設定します。各 Gradle テンプレートは 1 つの Gradle プロジェクトを表します。Gradle プロジェクトは他の Gradle プロジェクトを含むことができ、依存しています。
Gradle テンプレートは以下のファイルで構成されています。
ファイル | 場所 | 含まれるもの |
---|---|---|
baseProjectTemplate.gradle |
エクスポートしたプロジェクトの root/build.gradle フォルダー |
他のすべてのテンプレート/Gradle プロジェクト (リポジトリと Android Gradle プラグインへの依存関係) 間で共有される設定が含まれます。 |
launcherTemplate.gradle_ |
エクスポートしたプロジェクトの root/launcher/build.gradle folder フォルダー |
Android アプリケーションのビルド方法 (バンドル、署名、APK 分割) のインストラクションが含まれています。unityLibrary プロジェクトに依存し、.apk ファイルまたはアプリケーションバンドルを出力します。 |
mainTemplate.gradle |
エクスポートしたプロジェクトの root/unityLibrary/build.gradle フォルダー |
Unity をライブラリにしてビルドする方法のインストラクションが含まれます。 .aar ファイルを出力します。Unity エディターで Unity テンプレートをカスタムテンプレートでオーバーライドできます。詳細は、このページの カスタムの Gradle ビルドテンプレートの提供 セクションを参照してください。 |
libTemplate.gradle |
任意 | Unity プロジェクトに Android ライブラリプロジェクト がプラグインとして含まれる場合に使用されます。 |
Player Settings ウィンドウの Publishing Settings セクションで、カスタムの Gradle ビルドテンプレートを提供し、小型化オプションを選択できます。
Unity から APK をビルドするときに、unityLibrary モジュールのカスタム build.gradle
ファイルを使用できます。このファイルには、テンプレート変数 で指定された特定のビルドインストラクションが含まれます。テンプレート変数のリストは、次のセクションを参照してください。
unityLibrary モジュールに独自の build.gradle
ファイルを使用するには、以下の手順を行います。
Unity はデフォルトの mainTemplate.gradle
ファイルをプロジェクトの Assets/Plugins/Android/
フォルダーに作成します。新しいファイルへのパスは、Player 設定の Custom Gradle Template オプションの下にも表示されます。 Project ウィンドウの mainTemplate.gradle
ファイルをダブルクリックして、外部のテキストエディターで開きます。
mainTemplate.gradle
ファイルデフォルトでは、Unity は、Unity のインストールディレクトリにある settingsTemplate.gradle
ファイルを使用して、ビルド用の settings.gradle
ファイルを作成します。 settings.gradle
ファイルには、ビルドプロセスに関与するプロジェクトコンポーネントが含まれています。Unity はデフォルトで以下のコンポーネントを作成します。これらは常に settings.gradle
ファイルに含まれている必要があります。
また、Android ライブラリのプラグインをプロジェクトに加えたい場合、**INCLUDES** エントリーを置き換えることによって、Unity は自動的にプラグインを設定ファイルに加えます。
settings.gradle
ファイルに、デフォルトで含まれないコンポーネントを追加したい場合は、プロジェクトの Assets/Plugins/Android/
フォルダーに settingsTemplate.gradle
ファイルを作成します。これは、デフォルトのテンプレートをオーバーライドします。
独自の settingsTemplate.gradle
ファイルを使用する場合、以下の行が含まれている必要があります。
include ':launcher', ':unityLibrary'
**INCLUDES**
IPostGenerateGradleAndroidProject は unityLibrary モジュールへのパスを返します。これにより、Unity 2019.3 より前のバージョンと同様のすべてが維持され、それ以上の変更は必要ありません。つまり、Unity はバージョン間で一貫した方法でアプリのマニフェストとリソースにアクセスできます。
mainTemplate.gradle
ファイルには以下の変数を加えることができます。
変数 | 説明 |
---|---|
DEPS | プロジェクト依存関係のリスト、つまり、プロジェクトが使用するライブラリ。 |
APIVERSION | ビルドのターゲットとなる API バージョン (例えば 25)。 |
MINSDKVERSION | 最低 API バージョン (例えば、25) |
BUILDTOOLS | 使用する SDK ビルドツール (例えば 25.0.1) |
TARGETSDKVERSION | ターゲットとなる API バージョン (例えば 25)。 |
APPLICATIONID | Android アプリケーション ID (例えば com.mycompany.myapp) |
MINIFY_DEBUG | デバッグビルドの minify (ファイル圧縮) を有効にします (True か False)。 |
PROGUARD_DEBUG | デバッグビルドの圧縮には ProGuard を使用します (True か False)。 |
MINIFY_RELEASE | リリースビルドの minify (ファイル圧縮) を有効にします (True か False)。 |
PROGUARD_RELEASE | リリースビルドの圧縮には ProGuard を使用します (True か False)。 |
USER_PROGUARD | カスタム製のユーザー ProgGuard ファイル (例えば proguard-user.txt )。 |
SIGN | このビルドが署名されている場合は、signingConfigs セクションが行われます。 |
SIGNCONFIG | ビルドが署名される場合は signingConfig signingConfig.release に設定されます。 |
DIR_GRADLEPROJECT | Unity が Gradle プロジェクトを作成するディレクトリ。 |
DIR_UNITYPROJECT | Unity プロジェクトのディレクトリ。 |
ProGuard の小型化を使用して、アプリケーションを小さくして最適化できます。このオプションを有効にするには、以下の手順を行います。
ノート: ProGuard はアプリケーションが必要とする重要なコードを取り除く場合があるため、これらのオプションは慎重に使用してください。
カスタムの proguard.txt
ファイルを生成するには、Player 設定の Publishing Settings セクションで User Proguard File 設定を有効にします。これにより、すぐにプロジェクトの Assets/Plugins/Android/
フォルダーに proguard.txt
ファイルが生成されます。
ProGuard の詳細は、ProGuard マニュアル を参照してください。
Gradle を使用して Android 用のアプリケーションをビルドするときにエラーが発生すると、Unity はエラーダイアログボックスを表示します。Troubleshoot ボタンを選択して、システムのブラウザーで Unity ドキュメントの Gradle のトラブルシュート を開いて下さい。
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.