この記事でのバージョン
Unity 2022.3.21f1
はじめに
今回はUnity(Windows)でAndroid向けにビルドした際に
Failed to update Android SDK package list. See the Console for details.と出て失敗し、
Consoleには以下のようなエラーが出た時の話です。
[Error] Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8
エラー: メイン・クラスFiles\Unity\Hub\Editor\2022.3.21f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\cmdline-tools\6.0\bin\\..を検出およびロードできませんでした
原因: java.lang.ClassNotFoundException: Files\Unity\Hub\Editor\2022/3/21f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\cmdline-tools\6/0\bin\\//
[Exception] CommandInvokationFailure: Failed to update Android SDK package list.
C:\Program Files\Unity\Hub\Editor\2022.3.21f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\cmdline-tools\6.0\bin\sdkmanager.bat --list
Environment Variables:
EFC_12904 = 1
PROCESSOR_ARCHITECTURE = AMD64
JAVA_HOME = C:\Program Files\Unity\Hub\Editor\2022.3.21f1\Editor\Data\PlaybackEngines\AndroidPlayer\OpenJDK
AMPLITUDE_API_KEY_GREENBUCKET_PROD = c86fea37a9e1d3f0878b96e15b111c7c
DriverData = C:\Windows\System32\Drivers\DriverDa
原因と解決方法
さっそく原因ですが、SDK自体に問題があるようです。
(なのでUnityのバージョンを変えると解決する事もあります)
ちなみにSDKがどこにあるかは、Preferencesの
External Toolsから分かります。
そしてそのSDK内にある
\Data\PlaybackEngines\AndroidPlayer\SDK\cmdline-tools\〇〇(バージョン)\bin\sdkmanager.bat
が原因なので、これをメモ帳等で開き、
以下の場所を"で囲むと解決します。
set DEFAULT_JVM_OPTS=-Dcom.android.sdklib.toolsdir=%~dp0\..
↓
set DEFAULT_JVM_OPTS="-Dcom.android.sdklib.toolsdir=%~dp0\.."
↓ |
なお、sdkmanager.batの修正を保存しようとした際に
「このファイルを開くアクセス許可がありません」
と出る場合は、sdkmanager.batを右クリックしてプロパティを開き、セキュリティの編集を押し、
該当のユーザーにフルコントロールを許可して適用すれば、保存出来るようになるかと思います。