UE4でAndroidアプリをビルドするには

最終更新日:2017年01月03日

Unreal EngineでGoogle Cardboard、Gear VR、Daydreamアプリを開発する際に共通する、Androidアプリをビルド・実行する手順をまとめてみました。

UE4.14.1で確認を行っています。今のところWindowsのみの解説です。


ビルド手順

Android Studioをインストールする

まず、Java SE Development Kit 8以降が必要ですので、なければダウンロードページのAccept License Agreementをチェックして、対応するプラットフォーム(64bit WindowsならWindows x64)のものをインストールしてください。

次に、Androidの開発環境であるAndroid Studioをインストールします。

Androidスマートフォンを開発者モードにする

Androidを開発者モードにする隠しコマンド(?)があるので実行します。

Android端末の「設定」で一番下の「端末情報」をタップし、さらに一番下の「ビルド番号」を7回タップします。「これでデベロッパーになりました!」と出れば成功です。さらに、「設定」>「開発者オプション」で「USBデバッグ」をオンにして、OKを押します。端末をPCにUSBで接続して、「USBデバッグを許可しますか?」というダイヤログが出たら許可します。

必要なAndroid SDKとNDKをインストールする

Android Studioを実行して、起動画面の右下にあるConfigureからSDK Managerを選択してください。この画面で、Androidの各バージョンのSDKやツールが管理できるようになっています。

とりあえず、Unreal Engineでビルドするのに必要なAPI Level 21の「Android 5.0 (Lolipop)」をチェックします。さらにSDK Toolsタブを開いて「NDK」をチェックしてください。

右下のApplyボタンをクリックして、Accept、NextボタンをクリックするとSDKとNDKのインストールが開始されます。

Apache Antを用意する

ビルドツールのApache Antを準備します。公式サイト の左のBinary Distributionsのページからapache-ant-{バージョン}-bin.zipをダウンロードして、適当なフォルダに展開してください。

Unreal EngineでAndroidビルドしてみる

Unreal EngineでAndroidビルドするために、上記でインストールしたツール群のパスを設定します。

「設定」>「プロジェクト設定」を開いて、「プラットフォーム - Android SDK」のタブを開き、Android SDK、NDKとAnt、Java SE Development Kitのパスを設定します。Windowsでは以下のようになります。

項目 パス名
Location of Android SDK C:/Users/{ユーザー名}/AppData/Local/Android/sdk
Location of Android NDK C:/Users/{ユーザー名}/AppData/Local/Android/sdk/ndk-bundle
Location of ANT {Antを配置したフォルダ}/apache-ant-{バージョン}
Location of JAVA C:/Program Files/Java/jdk{バージョン}

新規プロジェクトを作成します。プロジェクトウィザードで「モバイル / タブレット」「スケーラブルな3D・2D」「スターターコンテンツ無し」のプロジェクトを作成してください(スターターコンテンツを含めると、ビルドにものすごく時間がかかってしまいます)。

「プラットフォーム - Android」にAndroidアプリのプロジェクト設定があります。赤いバーが2箇所に表示されていると思いますので(スクロールして下のほうも見てください)、それぞれ「今すぐ設定」を押してください。

マップを名前をつけて保存します。

Androidスマートフォンが接続・認識されていれば、ツールバーの「起動」ボタンのプルダウンメニューにAndroidのボタンと端末のデバイスIDがあります。選択すると、Android端末で実行できます。また、ファイル>プロジェクトをパッケージ化>Androidで、プロジェクトフォルダのBinaries/Androidフォルダにapkファイルがパッケージされます。出力フォルダのInstallで始まるバッチファイルを実行すると端末にインストールできます。

adbコマンドについて

コマンドラインからAndroid端末とやり取りをするadb(Android Debug Bridge)というツールがあり、Android開発では頻繁に用います。Android StudioによってC:¥Users¥{ユーザー名}¥AppData¥Local¥Android¥sdk¥platform-toolsにインストールされますので、パスを通しておくと便利です。

Android Debug Bridgeのページに解説がありますが、簡単な用途をいくつか説明します。

adb devicesで、接続されている端末IDが表示されます。端末がきちんと認識されているかどうかを確認できます。認識されない場合には、ドライバがインストールされているか、Androidが開発者モードになっているかを確認してください。

C:\Users\{ユーザー名}\AppData\Local\Android\sdk\platform-tools>adb devices
List of devices attached
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
{デバイスID}        device

また、adb logcatで端末のログが表示されます。grepが使用できる場合、adb logcat | grep hogeのようにキーワードでフィルタすると便利です。

Android端末を認識しない場合、

adb kill-server
adb start-server

で接続できることがあるようです。

書いた人:こりん(@k0rin
VR開発メモトップ