公式記事には、SetupAndroid.bat
を実行するようにかかれていますが、このスクリプトが相当な曲者で、10台ほど違うマシンで試しましたが、まともに動いたことは一度もなかったです。
しかも内部で setx
で PATH の設定をしてたりして、場合によっては環境が破壊されかねなくて(実際、破壊されかけた)、なかなか危うい感じがするんですが、これで公式でいいんでしょうか・・・
とりあえず、UE のバージョンが変わったらうまくいくかわかりませんが、手動で安全にセットアップしたときのメモを書いておきます。
Android Studio のインストールと設定
下記を見てインストールします。
SDK Manager で必要なツールをインストールする
インストールできたら、起動して SDK Manager を開きます。
SDK Manager を開いたら、必要なツール類をインストールします。・
SDK Plattforms は Android 9.0 (API Level 28) が必要っぽいので、これは最低限インストールしておきます。
SDK Tools は下記が必要です。
- Android SDK Build Tools
- NDK
- CMake
- Android SDK Platform Tools
ここで、NDK についてはバージョンを指定してインストールする必要があります。
右下にある Show Package Details にチェックを入れるとバージョンが選択できるので、21.4.7075529 にチェックを入れます。UE2.47 の場合、このバージョンでしか公式には対応してないようです。
チェックを入れたら Apply を押します。ライセンスへの同意を求められるので、
必要に応じて「同意」を押します。これでインストールが始まるので、しばらく待ちます。
Android SDK Build Tools は 28.0.3 にだけチェックを入れて、他のチェックを外します。他のバージョンのものが入っていると、UE4でビルド中にエラーになるようです。
CMake は 3.10.2.4988404 だけチェックを入れます。
Android SDK Platform Tools はバージョンの指定はありません。
これで Apply します。すると、選択されたものがインストールされ、チェックを外したものがアンインストールされます。
環境変数を設定する
ユーザの環境変数の設定で、NDK_ROOT と NDKROOT という環境変数に、NDK の入っているフォルダのパスを設定します。デフォルトでは、C:\Users\ユーザ名\AppData\Local\Android\Sdk\ndk\21.4.7075529
です。
これらを追加しないと、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 を選びます。
パスをそれぞれ入力します。kani となっているところは、自分のユーザ名に置き換えます。なお、上記は Android Studio をデフォルトのパスにインストールしたときのものです。
実機をつないで実行する
実機をつなぎます。実機側で USB デバッグしてもよいか?とか聞かれたら OK とか押す必要があります(多分)。
実機が認識されると、エディタの「起動」のところで、実機を選べるようになります。実行したいデバイスを選べば、ビルドがはじまって、プログラムが実機に転送されて実行されます。
Emulator では動かない
Android Emulator を使うと、ES3.1+ に対応してないので動かないというエラーがでます。これ、どなたか回避方法知ってます?
ちなみに ~/.android/advancedFeatures.ini
に GLESDynamicVersion = on
と書いておくと、エラーは出なくなりますが、起動した瞬間アプリが落ちてしまうので、動かせないことには変わりなかったです。