Gradle は、多数のビルドプロセスを自動化する Android のビルドシステムです。 この自動化によって、多くの一般的なビルドエラーが発生しにくくなります。特に Unity では、DEX (Dalvik Executable 形式) ファイルのメソッド参照数が減少します。つまり、DEX 制限問題に遭遇する可能性は低くなります。ただし、Gradle とデフォルトの Unity Android ビルドシステムの違いにより、既存のプロジェクトの中には Gradle に変換するのが難しいものもあります。
Unity 内の Gradle ビルドシステムを使って出力パッケージ (APK) をビルドする、または、 Gradle プロジェクトをエクスポートして外部ツール (Android Studio など) 内でビルドすることができます。
詳しくは Gradle の Android ビルドのための Gradle を始める手引き を参照してください。
Unity 内で Gradle を使って Android ビルドを作成するには以下の手順で行います。
Gradle プロジェクトをエクスポートするためには、前出の手順に従います。ただし、Build Settings ウインドウで Build ボタンを押す前に、Export Project オプションにチェックしてください。 Build を押すと、Unity は APK をビルドする代わりに、指定されたディレクトリに Gradle プロジェクトを生成します。このプロジェクトを Android Studio にインポートして、追加修正や、ビルドプロセスの制御などを行います。
APK のビルドに関する詳しい情報は Android Studio のドキュメントのビルドの設定 を参照してください。
Unity から APK をビルドする場合に独自の build.gradle ファイルを使用するには、 Player Settings ウィンドウの Custom Gradle Template プロパティーを有効にします。これにより、編集可能なデフォルトの mainTemplate.gradle
ファイルが生成されます。このテンプレートには、Unity ビルドプロセスで入力される、例えば **TARGETSDKVERSION**
のようないくつかの変数が含まれています。これは通常、このままにしておきます。また、これと同様に、Plugins ディレクトリに settingsTemplate.gradle
を設定することによって独自の settings.gradle
を使用することもできます (現在、自動的に行う方法はありません)。このファイルにはライブラリプロジェクトを加える役割があるので、その処理をオーバーライドしたい場合を除いては、少なくとも次の文字列がファイルに含まれている必要があります。
**INCLUDES**
これは、すべてのライブラリへの include ディレクティブによって置き換えられます。
これらの変数が mainTemplate.gradle
ファイルで使用できます。
変数 | 説明 |
---|---|
DEPS | プロジェクト依存関係 (つまり、使用されるライブラリ) のリスト |
API VERSION | ビルドのターゲットとなる API バージョン (例えば 25) |
BUILDTOOLS | 使用する SDK ビルドツール (例えば 25.0.1) |
TARGETSDKVERSION | ターゲットとなる API バージョン (例えば 25) |
APPLICATIONID | Android アプリケーション ID (例えば com.mycompany.mygame) |
MINIFY_DEBUG | デバッグビルドの小型化を有効にします (true または false) |
PROGUARD_DEBUG | 小型化に ProGuard を使用します (true または false) |
MINIFY_RELEASE | リリースビルドの小型化を有効にします (true または false) |
PROGUARD_RELEASE | 小型化に ProGuard を使用します (true または false) |
USER_PROGUARD | カスタム製のユーザー ProGuard ファイル (つまり progard-user.txt) |
SIGN | ビルドが署名されると、signingConfigs セクションは完了します |
SIGN_CONFIG | ビルドが署名されると signingConfig signingConfig.release に設定されます |
DIR_GRADLEPROJECT | Gradle プロジェクトを作成するディレクトリ |
DIR_UNITYPROJECT | Unity プロジェクトのディレクトリ |
MINSDKVERSION | 最小 API バージョン (例えば 25) |
ProGuard の小型化 は Player settings ウィンドウの Minify セクションで設定することができます。ProGuard は実際に必要なコードを簡単に取り除くことも可能なので、この設定は注意深く行う必要があります。カスタム製の proguard.txt
ファイルを生成するには、まず、Publish Settings セクションの User Proguard File を有効にします。
ProGuard の詳細については、ProGuard マニュアル を参照してください。
Gradle を使用して Android をビルドするときにエラーが発生したら、Unity はエラーダイアログボックスを表示します。Troubleshoot をクリックして、システムのブラウザで Unity ドキュメントの Gradle のトラブルシュート を開いて下さい。
2017–10–02 限られた 編集レビュー でパブリッシュされたページ
カスタム製 build.gradle テンプレートセクションを追加
バージョン 5.5 の新機能