Unityでのビルド時でGradle build failed. となるエラーの対処。
Gradleとは?
Gradleとは、ビルドの補助ツールみたいです。
Android の Gradle - Unity マニュアル (unity3d.com)
Gradle build failed.?
以下のようなエラーです。
CommandInvokationFailure: Gradle build failed.
C:\Program Files\Unity\Hub\Editor\2021.3.16f1\Editor\Data\PlaybackEngines\AndroidPlayer\OpenJDK\bin\java.exe -classpath "C:\Program Files\Unity\Hub\Editor\2021.3.16f1\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\gradle\lib\gradle-launcher-6.1.1.jar" org.gradle.launcher.GradleMain "-Dorg.gradle.jvmargs=-Xmx4096m" "assembleRelease"
Oulus用ビルドで「Gradle build failed」の場合は?
対策は以下。Gradleにはいろんな原因があるので試行錯誤が必要そうです。
プレイヤー設定でAPIレベルを変更
する。
Gradle最新版にする
Gradle最新版を入手。
UnityのLibを置き換える。
またはダウンロードしたGradleのフォルダを「環境設定>外部ツール」で指定しなおす。
Gradleのバージョン指定を変更する
プロジェクト設定>プレイヤー>公開設定>カスタムのGradele基本テンプレートをチェック。指定のAssetの場所にあるGradleのバージョンを変更して試す。
【Unity】Admob導入後Androidビルドエラーが発生した際の対処法 - ゲーム作るためのこと学ぶdevろぐ(’ー’)/チャラン (snoopopo.com)
Gradleのバージョンの互換性
Unity - Manual: Gradle for Android (unity3d.com)
JDKを最新にする
JDKのバージョンを最新版にしておく。
ディレクトリ名
ディレクトリ名にスペースがあれば、除去しておく。
Can't build to android! (CommandInvokationFailure: Gradle build failed) - Unity Forum
ビルド先のパスで日本語はいれない
保存ファイル名でも日本語は入れない。
Unityでのビルドエラーについて (teratail.com)
キャッシュ
Gradleのキャッシュを消す。
C:\Users\XXX\gradle\caches
Gradle build failed | Page 3 - Unity Forum
KEYを削除
続けてキーの読み込みに失敗とメッセージが出た場合。
Failed to read key AndroidDebugKey from store "C:\Users\keepg\.android\debug.keystore": Invalid keystore format
Unityを一度終了し、該当するキーファイルを削除。
その後のビルドでAPKが作成。
うちではこれでやっとAPKができました。ただいろいろ設定を変更したのでこれのせいだけかは不明。
Adsのパッケージ
パッケージマネージャにUnity Adsがあれば削除しておく
c# - Unity - CommandInvokationFailure: Gradle build failed - Stack Overflow
MONOでビルド
Oculus用の場合、一度PC向けをMONOでビルド。
その後アンドロイドへスイッチしてビルド。
How to remove android.enableR8' from the project - Unity Answers
アンドロイドスタジオのほうを使用する
ビルドではなくエクスポートを使って、アンドロイドスタジオのほうでビルドするという方法があります。
一応この方法でもうちでは対応できました。
Unityではビルドではなくエクスポート。
アンドロイドスタジオからエクスポートしたフォルダをオープン。
その際アンドロイドスタジオのSDKを使う。
ロードが終わるまでしばし待ちます。
次にGradel.properiesというファイルで、「Enable88」の行を削除。
後はAPKをビルドします。
右下でBuildがRunningになるのでしばし待ちます。
左下でBuild ... successfully for 1 module.となれば終了。
APKですが、「...launcher\build\outputs\apk\debug\launcher-debug.apk」あたりにできている?
c# - Unity - CommandInvokationFailure: Gradle build failed - Stack Overflow
本ブログのUnity関連記事一覧はこちら。