環境
- macOS 10.14.3
- Unity 2018.3.3f
経緯
Unity 2018.2.2fで、Androidビルドは問題なくできていた。
Unityのバージョンを上げるためUnity Hub経由で2018.3.3fをインストールした。
すると、下記「Android SDK is outdated」エラーが発生するようになった。
この状態で、「Update Android SDK」を押しても結果的に何も現象は変わらず、「Use Highest Installed」を押すとビルド自体は問題なく行われた。
常にこのダイアログが出るのが嫌だったので、SDK ManagerでSDKとToolsのバージョンアップを行った。
その結果「Android SDK Build-Tools 29-rc1」がインストールされた。
この状態でAndoridビルドを行うと「Gradle prewarm failed」のエラーが発生し、ビルドできない状態になった。Gradleを使用せず、Internalでのビルドを行うと成功する状態。
対応
SDK ManagerのSDK Toolsの画面で、いったんSDK Build-Toolsをアンインストールした。次に、「Show Package Details」にチェックを入れて、SDK Toolsの28.0.3を明示的にインストールした。
最初の「Android SDK is outdated」のエラーも出なくなり、Gradleでのビルドも成功するようになった。
教訓
SDK Managerの「Show Package Details」を使うと、Toolsのバージョンを細かく指定可能。