📱

Unityを複数バージョンで並列ビルドしている際にGradleビルドエラーになった

2023/10/10に公開

問題

  • Unity2021とUnity2020を並行でビルドしようした際にGradleビルドがなぜか失敗する。
  • Androidビルドで時々発生した。
  • 失敗原因にはGradleが停止命令うんぬんと表示される。
  • 失敗することもあれば失敗しないこともある。

ログ

どうやらgradleビルドフェーズで停止コマンドが実行されている?

FAILURE: Build failed with an exception.

* What went wrong:
Gradle build daemon has been stopped: stop command received

ソリューション

PlayerSettings -> ExternalTools -> Stop Gradle daemons on exit の項目をfalseにする。

コードには問題がなく、UnityのGradleビルドの仕組み側に問題がある。Unityの2020->Unity2021のアップデートにてGradleバージョンが更新され、複数バージョンのGradleDeamonが存在しているところに原因があるようだ。
Unity公式のマニュアルを調べてみるとその記載が載っていた。

Stop Gradle daemons on exit
Enable this option so that when you close the Editor, Unity stops Gradle. If you are using Gradle to build multiple Android Projects at the same time, disable this option as it might cause your other builds to fail.

https://docs.unity3d.com/2019.2/Documentation/Manual/Preferences.html

参考

UnityDiscussionsの記事
https://discussions.unity.com/t/gradle-build-failed-unity-2020-3-14-incompatible-daemon-commandinvocationfailure/247463

Discussion