Android の 2D テクスチャ オーバーライド
Gradle のトラブルシューティング

Android の Gradle

Gradle は、多数のビルドプロセスを自動化する Android のビルドシステムです。 この自動化によって、多くの一般的なビルドエラーが発生しにくくなります。特に Unity では、DEX (Dalvik Executable 形式) ファイルのメソッド参照数が減少します。つまり、DEX 制限問題に遭遇する可能性は低くなります。ただし、Gradle とデフォルトの Unity Android ビルドシステムの違いにより、既存のプロジェクトの中には Gradle に変換するのが難しいものもあります。

Unity 内の Gradle ビルドシステムを使って出力パッケージ (APK) をビルドする、または、 Gradle プロジェクトをエクスポートして外部ツール (Android Studio など) 内でビルドすることができます。

詳しくは Gradle の Android ビルドのための Gradle を始める手引き を参照してください。

Android のための Gradle を使ったビルド

Unity 内で Gradle を使って Android ビルドを作成するには以下の手順で行います。

  1. Unity エディターで、Build Settings ウインドウ (File > Build Settings…) を開きます。
  2. Platform リストで Android を選択します。
  3. Build System ドロップダウンで Gradle (new) を選び、Build をクリックします。
Gradle の ビルド設定
Gradle の ビルド設定

Gradle プロジェクトのエクスポート

Gradle プロジェクトをエクスポートするためには、前出の手順に従います。ただし、Build Settings ウインドウで Build ボタンを押す前に、Export Project オプションにチェックしてください。 Build を押すと、Unity は APK をビルドする代わりに、指定されたディレクトリに Gradle プロジェクトを生成します。このプロジェクトを Android Studio にインポートして、追加修正や、ビルドプロセスの制御などを行います。

APK のビルドに関する詳しい情報は Android Studio のドキュメントのビルドの設定 を参照してください。

カスタムの build.gradle テンプレートの提供

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 でビルドするときのエラー

Gradle を使用して Android をビルドするときにエラーが発生したら、Unity はエラーダイアログボックスを表示します。Troubleshoot をクリックして、システムのブラウザで Unity ドキュメントの Gradle のトラブルシュート を開いて下さい。

Unity の Gradle ビルドエラーダイアログボックス
Unity の Gradle ビルドエラーダイアログボックス

  • 2017–10–02 限られた 編集レビュー でパブリッシュされたページ

  • カスタム製 build.gradle テンプレートセクションを追加

  • バージョン 5.5 の新機能

Android の 2D テクスチャ オーバーライド
Gradle のトラブルシューティング