Unity HubでインストールしたAndroid SDK の別バージョンインストール方法

仕事で Android OS 10 以前のバージョンでビルドしたいときに詰まったのでメモ。

Unity Hub でインストールする Android SDK は GooglePlayが要求する最新の SDK バージョンをインストールするのでより古いバージョン or 新しいバージョンはインストールされていない
docs.unity3d.com

古いバージョンの SDK でビルドする場合そのバージョンがインストールされていない為、以下のエラーコードが出てビルドできないことが良くある。

Android SDK does not include your Target SDK of (version). Please use the Android SDK Manager to install your target SDK version. Restart Unity after SDK installation for the changes to take effect.    

これの解決には手動で Android Studio から目的の SDK をインストールする必要があるのでその手順を以下にメモ。

Unityでの下準備

1. SDK インストール先のディレクトリパスをコピー

Edit > Preference > External Tools を開き、Android SDK Tools Installed with Unity ( recommended ) の項目の Copy Path ボタンを押下し、パスをクリップボードにコピーする。

2. Unityを閉じる

Unityでの下準備はこれで完了なのでいったんUnityを閉じます。

Android Studio での作業

1. SDK Manager を開く

Tools > SDK Manager を選択し SDK Manager を起動。

2. インストール先のパスを指定

Android SDK Location の横にある Edit を押下し、先ほど Unity でコピーしたパスをペーストする。

Next ボタンを押下し、設定を適用。

3 任意の SDK バージョンをインストールする

ビルドに使いたい任意のバージョンをインストールする。

Unity でビルドする際に Target API Level を Automatic にしているとインストールされているバージョンの中で最新のものを利用するので任意のバージョンが最新になるようにする。
例えば API Level 26 を利用したいときは 27 以降をアンインストールする

原因は深くまで調べていないのでわからないが Unity でビルドする際に Target API Level を Automatic 以外でビルドしようとすると Gradle 周りでエラーが出てしまいビルドできなかったのでこの対応とした。

これで Unity Hub で自動インストールされたバージョン以外の API Level でビルドすることができる。