up:: Unreal_Engine
UE Android SDK
マジでめんどくさかった。UE5.0.1。
まずはAndroid Studioのバージョンを確認。3.5.3が推奨されているが4.0がいいらしい。現在からみるとかなり古いので注意。特にScoopで入れると問答無用の最新なので。
Androidで実機プレイとパッケージ化する方法【UE5,UE4】
Unreal Engine に Android SDK および NDK を設定する | Unreal Engine ドキュメント
Unreal Engine 4.25 で必要な Android NDK 21 のセットアップに関する最新情報
Android Studio のダウンロード アーカイブ | Android デベロッパー | Android Developers
ところがUEでAndroid NDKをインストールしようと思い、本体のAndroid用バッチファイルを開くと\Microsoft was unexpected at this time.
が発生。
ちなみにこのバッチは対応するSDK,NDK,CMAKE,build toolを入れてくれる優れもの。確認したいならAndroid StudioでShow Package Detailにチェック。
普通は環境変数のPathに""が入っているとこのエラーが出るらしい。そうでなくてもファイルパスに""が入ってても出るとか。
何度見てもそれらしいものなし。Android Studioも空白のないフォルダに入れなおしたがやはり失敗。
\Microsoft was unexpected at this time.
Windows 64bitのPATH設定 - Qiita
ならばと上からコピーしていって試していくと、どうもこの辺が怪しいと判明。
76-81行目。特にIF文。
where.exe /Q adb.exe
IF /I "%ERRORLEVEL%" NEQ "0" (
echo Current user path: %USERPATH%
setx PATH "%USERPATH%;%PLATFORMTOOLS%"
echo Added %PLATFORMTOOLS% to path
)
とりあえずここをremでコメントアウトすると、今度はSdkmanager.batでエラー。
ここで一旦諦める。
より調べると、%USERPATH%
が原因と判明。ユーザー名に括弧が入ってるのが問題だったらしい。入っていないが、この投稿通りUSERPATHに""を付けると直った。
Android “SetupAndroid.bat” keeps giving this error “was unexpected at this time.” UE 4-26 - 2 by J0hn-C0nn0r - Mobile - Unreal Engine Forums
……と思いきや、Sdkmanager.batのエラーが再発。
今度はクリア。82行目で参照しているSdkmanager.batが古いモノらしい。Android Studioプラグインとして新しくCommand line toolをインストールし、それを参照するように82行目を修正する。
SetupAndroid.bat UE4.25 Error - 17 by Hargrimms - Mobile - Unreal Engine Forums
しかし今度はビルド時にNDKROOTがつながっていないとエラーしまくる。
仕方ないので公式ガイド通り4.0を入れる。だってこんな記事あったんだもの。
UE5・UE4.25以降でAndroidビルドできるようにする(Windows環境)
またUE側の設定も行う。SDK,NDK,JDKのパスとAPIバージョン指定。APIは対応するものをAndroid Studioでダウンロードしておく。
Manually set Android SDK and NDK on UE 5 for M1 MacOS? - 2 by Scionate - Mobile - Unreal Engine Forums
Is Android Studio 4.0 still mandatory for Mobile (-AR/VR) developement in UE5? - 2 by MondRubberduck - Mobile - Unreal Engine Forums
ここでようやくビルドが通る。
ちなみに、まさかと思ってAndroid Studioの最新版をScoopインストールしてC:\Program Files\Android\Android Studio\
向けにシンボリックリンク通すと結局最新版でも動いた。
つまりどこかのパスがここを通っているということなんだろうが。
要するに、
- Android Studioがあって
C:\Program Files\Android\Android Studio\
を通ってStudioにアクセス出来て- Android SDK Command-line Tools(latest)をインストールしてて
- UEのコマンドラインツールでSDK,NDK,CMAKE,build toolを入れて
- 開発したいAndroidバージョンのSDKをAndroid Studioで入れて
- UEのパスを正しく設定
すれば動く。
2022/09/17
なんかシンボリックリンクが効かなくなってたので、CにStudioをインストールし直してジャンクションにした。
Intel HAXM installation failed.
特にHyper-Vは使ってないが、Windows Sandboxが内部で同じような機能を使っていた気がする。
取りあえずHyperviserをONにしてインストしなおした。
Windows10へのAndroid Studio のインストールでHAXM インストールが失敗する - Qiita
確立された接続がホスト コンピューターのソウトウェアによって中止されました
ほかにもadbを使ってるやつがいるとこうなるとか。
でもUE一個にしても直んなかった。いちおう携帯を再起動すると直った。は?
Eclipse ADT「確立された接続がホスト コンピューターのソウトウェアによって中止されました。」 - iwanami10’s blog