かなり苦戦したのでメモ。
大前提
まず、やり方自体は下記のURLの指示に従ってください
Unreal Enigineの世界ではとにかく公式ドキュメントの内容を守ることが重要です。
上のURLは必ず確認しときましょう。(自分は5.2環境でパッケージ化)
UE バージョン | Android Studio バージョン | Minimum Android SDK バージョン | Android NDK バージョン | 注記 |
---|---|---|---|---|
5.1-5.2 | Android Studio 4.0 | 推奨:SDK 32 最小:SDK 30 | NDK r25b | SDK 30 はシステム上でコンパイルするために必要な最小限の SDK ですが、SDK 26 はデバイス上でプロジェクトをシッピングするためにターゲットとすることができる最小限の SDK です。 |
5.0 | Android Studio 4.0 | SDK 23 | NDK r21e | Android File Server (AFS) の使用に必要な最小 SDK バージョンは 26 です。 |
4.26.2 – 4.27 | Android Studio 4.0 | NDK r21b | ||
4.25 | Android Studio 3.5.3 | NDK r21b | Unreal Engine 4.25 では NDK r21b の使用を推奨しますが、UE 4.25 は幾つかのローエンド デバイスでの互換性問題に対応するために NDK r20b をサポートします。 | |
4.21 – 4.24 | NDK r14b | |||
4.19 – 4.20 | NDK r12b |
基本的に上の表のとおりに環境を整えていきましょう。新しすぎても古すぎてもダメです。以下に代表的なトラブルシューティングを何点か挙げておきます。
パッケージ化が即失敗する(Setupandroid.bat実行時にエラー)
まずはビルドがすぐに失敗してしまう例。このような場合はSetupandroid.bat実行時にエラーが出る件が多いです。
参考:https://forums.unrealengine.com/t/android/531707
解決法①:AndroidStudioのバージョン変更
このような場合ではAndoroidStudioのバージョンが最新となっていることが原因なことが多いです。
実は、UEで使うAndroidStudioは2020年にリリースされた4.0がメインなので,2022等の最新版では機能しないんですね(対応してほしい……)ですから、通常のダウンロードページからAndroidStudioを落とすのは間違いで、アーカイブのページからダウンロードすることになります。
Android Studio のダウンロード アーカイブ | Android Developers
解決法②:CommandToolのバージョン変更
もう一つのケースはコマンドツールのバージョンです。
Unreal Engine の Android SDK セットアップは、Android バージョン
のコマンドライン ツールに依存します。インストールを最終確定する前に、このバージョンがインストールされており、UE の
1 8.0スクリプトがそれを正しくターゲットとしていることを確認する必要があります。 https://docs.unrealengine.com/5.2/ja/how-to-set-up-android-sdk-and-ndk-for-your-unreal-engine-development-environment/
1 SetupAndroid
公式のドキュメントにこのような記述があるのですが、実はコマンドラインツールは9.0が最新となっていて、意識していないとこいつがインストールされてしまいます……
Android Studio 4.0を立ち上げて歯車→SDKManager→SDKTools→ShowPackageDetailsとクリックしていきコマンドツールのバージョンを確認しましょう。
こんな感じで8.0だけをインストールしているのが理想です。
少し待つとパッケージ化が失敗している(SetupAndroidは成功)
さて、もう一つのケースはSetupAndroidが成功しているにもかかわらずパッケージ化が失敗している場合です。こちらの方は大方、SDKあるいはNDKのパス設定に失敗していることが原因です。
とりあえずUE5.2のパッケージでうまくいった例を晒しておきます。
ファイルのuser名は適宜自分の名前に変更してください
Outputlogを確認する(参考)
上のファイルを写すだけでも事足りますが、一応原因究明はしておきましょう。logの中からエラーとなる箇所を探します。
パッケージ化に関しては白文字でエラーが書かれていることが多いので注意です!!
自分の場合はこんな感じでエラーが書いてありました。
Invalidとか、そういう単語が見つかるとビンゴですね。このエラーの場合はNDKのバージョンに問題があることを示しています。(NDKという文字はないですけど、r25bという文字を参考にしていただけると……)
NDKの最新バージョンはr25c(25.2……)ですが、上の表にもある通り、UEが作動するバージョンはr25b(25.1…)ですので、確認は大事です。
終わりに
パッケージ化はめんどくさいエラーが多いので情報共有はちゃんとしたいところですね
コメント