ぼっちプログラマのメモ

UE4とかVRとかについて書いたり書かなかったり。

UE4 + Android 実機デバッグのやり方 その1 (vsdebugandroidコマンド篇)

f:id:pafuhana1213:20180215000946j:plain

はじめに

以前はNsight Tegraを使った実機デバッグ方法が紹介されていました…
[UE4] 実機でデバックしてみよう!(Android編)|株式会社ヒストリア

…が、実は4.16から別のやり方が追加されています!

Added functionality to use the visual studio mobile projects for debugging. To generate them run "generateprojectfiles.bat -vsdebugandroid" from a command prompt. After you have packaged your game for Development and put it on the device, you can set this new project as the start up project and run/debug the project in Visual Studio.

www.unrealengine.com

今回の記事では↑の機能を使った方法を紹介します。
あ、C++プロジェクト限定な上に、ランチャー版ではなくソースコードからビルドしたUE4が必要です。

1. 対象となるC++プロジェクトをUE4.slnと同じディレクトリに配置

まずはデバッグしたいUE4C++プロジェクトをUE4.slnと同じディレクトリに配置します。こうすることで、後述のgenerateprojectfiles.batを走らせると、UE4.slnがそのC++プロジェクトを認識しSolution ExplorerC++プロジェクトが追加されます。
f:id:pafuhana1213:20180214234647p:plain

2. Debug / DebugGame / Developmentのいずれかでパッケージを端末にDeploy

次にUE4エディタ上からapkを作成し、端末にインストールします。作成する際はデバッグなのでTest, Shipping設定以外にしましょう。
docs.unrealengine.com

3. UE4.slnを開いている場合は閉じる

そのまま

4. 「generateprojectfiles.bat -vsdebugandroid」をUE4.slnがあるディレクトリ上で実行

UE4.slnにあるgenerateprojectfiles.bat を -vsdebugandroidつきで実行します。もしVisual Studio2017をお使いの場合は、-2017も追加して下さい。

※ 引数の渡し方が分からない人向け
itecbook.com

5. UE4.slnを開き、Solution Explorerの最下部にUE4 Android Debug Projectsというフォルダができていることを確認

ここまでの操作が成功していると、以下の画像のような見慣れない項目がSolution Explorerに追加されています。
f:id:pafuhana1213:20180214235822j:plain

6. [対象プロジェクト名]-AndroidRun をStartUp Projectに設定

5で確認した項目の中から1で追加したプロジェクトの名前に"-Android"を加えた項目を探し、右クリックメニューからStartUp Projectに設定して下さい。例えばSampleUE4というプロジェクト名の場合は、SampleUE4-AndroidRunをStartUp Projectにすることになります。

7. デバイスをPCに接続し、adb devicesで認識できる状態にする

Android開発でのいつものアレです
qiita.com

8. UE4.sln上でF5を押して実機デバッグ開始

F5を押すと自動的に端末上でアプリが立ち上がります。以降はブレークポイントが有効になるので実機デバッグし放題です!

最後に

これで実機デバッグ可能なのですが、一部の端末ではこの方法やNsight Tegraによる実機デバッグができません。具体的には、run-asコマンドを受け付けない端末( 主にSamsung製の端末 )の場合はこれらの方法で実機デバッグができません。

が、AndroidStudioを使えばrun-asを受け付けない端末でも実機デバッグ可能です!次の記事ではその方法を紹介する予定です。

ではでは~

その2書きました
pafuhana1213.hatenablog.com