LoginSignup
3
2

More than 1 year has passed since last update.

Windows の Unreal Engine 4.27 で Android 用の開発環境を手動で設定する

Last updated at Posted at 2021-12-07

公式記事には、SetupAndroid.bat を実行するようにかかれていますが、このスクリプトが相当な曲者で、10台ほど違うマシンで試しましたが、まともに動いたことは一度もなかったです。

しかも内部で setx で PATH の設定をしてたりして、場合によっては環境が破壊されかねなくて(実際、破壊されかけた)、なかなか危うい感じがするんですが、これで公式でいいんでしょうか・・・

とりあえず、UE のバージョンが変わったらうまくいくかわかりませんが、手動で安全にセットアップしたときのメモを書いておきます。

Android Studio のインストールと設定

下記を見てインストールします。

SDK Manager で必要なツールをインストールする

インストールできたら、起動して SDK Manager を開きます。

image.png

SDK Manager を開いたら、必要なツール類をインストールします。・

image.png

SDK Plattforms は Android 9.0 (API Level 28) が必要っぽいので、これは最低限インストールしておきます。

image.png

SDK Tools は下記が必要です。

  • Android SDK Build Tools
  • NDK
  • CMake
  • Android SDK Platform Tools

ここで、NDK についてはバージョンを指定してインストールする必要があります。

image.png

右下にある Show Package Details にチェックを入れるとバージョンが選択できるので、21.4.7075529 にチェックを入れます。UE2.47 の場合、このバージョンでしか公式には対応してないようです。

チェックを入れたら Apply を押します。ライセンスへの同意を求められるので、
必要に応じて「同意」を押します。これでインストールが始まるので、しばらく待ちます。

image.png

Android SDK Build Tools は 28.0.3 にだけチェックを入れて、他のチェックを外します。他のバージョンのものが入っていると、UE4でビルド中にエラーになるようです。

image.png

CMake は 3.10.2.4988404 だけチェックを入れます。

Android SDK Platform Tools はバージョンの指定はありません。

これで Apply します。すると、選択されたものがインストールされ、チェックを外したものがアンインストールされます。

環境変数を設定する

ユーザの環境変数の設定で、NDK_ROOT と NDKROOT という環境変数に、NDK の入っているフォルダのパスを設定します。デフォルトでは、C:\Users\ユーザ名\AppData\Local\Android\Sdk\ndk\21.4.7075529 です。

image.png

image.png

これらを追加しないと、UE でビルド中にエラーになります。

次に、ユーザの環境変数 Path の末尾に、下記を追加します。いずでもデフォルトの場所にインストールしている場合です。

  • C:\Users\ユーザ名\AppData\Local\Android\Sdk\platform-tools
  • C:\Users\ユーザ名\AppData\Local\Android\Sdk\tools

これらを追加しないと、adb.exe の実行に失敗します。

Unreal Engine 4.27 側の設定

プロジェクトの設定

エディタの「設定」から「プロジェクトの設定」を開いて、Android SDK を選びます。

image.png

パスをそれぞれ入力します。kani となっているところは、自分のユーザ名に置き換えます。なお、上記は Android Studio をデフォルトのパスにインストールしたときのものです。

実機をつないで実行する

実機をつなぎます。実機側で USB デバッグしてもよいか?とか聞かれたら OK とか押す必要があります(多分)。

実機が認識されると、エディタの「起動」のところで、実機を選べるようになります。実行したいデバイスを選べば、ビルドがはじまって、プログラムが実機に転送されて実行されます。

Emulator では動かない

Android Emulator を使うと、ES3.1+ に対応してないので動かないというエラーがでます。これ、どなたか回避方法知ってます?

ちなみに ~/.android/advancedFeatures.iniGLESDynamicVersion = on と書いておくと、エラーは出なくなりますが、起動した瞬間アプリが落ちてしまうので、動かせないことには変わりなかったです。

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2