Unable to locate sdkmanager.bat. Did you run Android Studio and install cmdline-tools after installing? の直し方について
UnrealEngineにAndroidStudioを認識させる段階でるエラーの話です。
2024/10/24 更新
以下の手順は間違っている可能性が高いです。
以下認知変更事項
・ライセンス認証画面はない
・Unable to locate sdkmanager.bat. Did you run Android Studio and install cmdline-tools after installing?はCommand Line Tool 8.0(UE5.0の場合)が個別インストールされていないため起きる。
・5.0の場合、Android.batを書き換えてLatestでなく8.0をインストールするよう変更する必要がある
使用環境
UE5.0
AndroidStudio 4.0
に従いセットアップしている途中、3. Android NDK r21b を使用するように Unreal を設定するの段階でエラーが出ることがあります。
エラーの内容としてはSetUPAndroidスクリプト(Windows)を実行させた後、
Unable to locate sdkmanager.bat. Did you run Android Studio and install cmdline-tools after installing?
というエラー文が出てライセンス同意画面にまで進めないというものになります。
一度推奨ファイル以外にダウンロードしてしまい、ファイル削除しもう一度ダウンロードすると起きるか古いバージョンであるために起きると推定されています。
解決方法
1.セットアップスクリプトを右クリックし編集からメモ帳等を使いテキスト形式で開く。
2.真ん中あたりにあるset SDKMANAGER~~ という文を探す。
3.赤字の部分が青字の部分と同じようになるように打ち換える。
〈初期時↓〉
set SDKMANAGER=%STUDIO_SDK_PATH%\tools\bin\sdkmanager.bat
IF EXIST "%SDKMANAGER%" (
echo Using sdkmanager: %SDKMANAGER%
) ELSE (
set SDKMANAGER=%STUDIO_SDK_PATH%\cmdline-tools\latest\bin\sdkmanager.bat
IF EXIST "%SDKMANAGER%" (
〈打ち換え後↓〉
set SDKMANAGER=%STUDIO_SDK_PATH%\cmdline-tools\latest\bin\sdkmanager.bat
IF EXIST "%SDKMANAGER%" (
echo Using sdkmanager: %SDKMANAGER%
) ELSE (
set SDKMANAGER=%STUDIO_SDK_PATH%\cmdline-tools\latest\bin\sdkmanager.bat
IF EXIST "!SDKMANAGER!" (
上書き保存して閉じる。
4.Command line をダウンロードする
上記のサイトからWindowsのCommand lineをダウンロードして展開する。
5.ファイルを作る
ダウンロードしたCommand line にはcmdline-toolsフォルダ下に直接他のファイルが入っている。
これが原因の一部なので
>Commandline
>bit
>lib
>NOTICE.txt
>source.properties
となっているのを>Commandline下に latest という名前のフォルダを作り
>Commandline
>latest
>bit
>lib
>NOTICE.txt
>source.properties
になるようlatest内にbit等のフォルダを移動する。
6.AndroidSDKにファイルをコピーする。
今編集したフォルダのcmdline-toolsをコピーする。
C:\Users\ユーザー名\AppData\Local\Android\Sdk
に格納されているSdkのフォルダを開き、Platform-toolsのフォルダ内にコピーする。
7.再起動しもう一度AndroidSetupを実行し試してみる。
以上になります。
参考サイト
恐らく
・AndroidSetupファイル内のフォルダの指定先が違っている
・SDKに何らかが原因でCommand Lineがダウンロードされていない
・ダウンロードできるCommand Lineのフォルダ構成とAndroidSetupの指定するフォルダ構成が違っている
のが原因だと思われます。
(cmdline-tools\latest\bin\sdkmanager.batをcmdline-tools\bin\sdkmanager.batに打ち換えてlatest消せばいいんじゃね?と思ったんですが別のところでlatestが要件になってるらしくlatestがないぜ!というエラーがでました)
手探りで試していてかなりうろ覚えですのでこれでも治らなかったらちょっとわかりません。
訂正等は随時行いますので誤情報等ございましたらTwitter @tukigaselio にDMなどでご連絡ください。