UE4 Android联机调试
环境
引擎版本: github 4.20
连接 Android 设备
用 USB 线将 Android 设备连接到电脑上,在设置中打开开发者选项,然后勾选 USB调试
出包
首先需要编译打包工程,注意打包的时候不能勾选 For Distribution 选项(对应的命令行是 -distribute),编译选项最好是 Debug 或者 Development
配置VS
打开 Tools -> Option -> Cross Platform -> C++ -> Android,默认的配置如下
将他们改成打包 APK 时使用的对应路径,我是用引擎自带的 AndroidWorks 安装的环境,所以改成如图所示
添加APK
将打包好的 APK 包添加到 VS 工程中,如图
设置符号路径
右键 TestGame-armv7-es2,在弹出的菜单中选择属性(Properties),在 Additional Symbol Search Paths 里填入 so 路径:[Your Project Path]\Intermediate\Android\APK\jni\armeabi-v7a,如图
设置启动项目
将 TestGame-armv7-es2 设置为启动项目,如图
这时项目配置会自动配好,如果没有那就手动改一下,如图
调试
按 F5 以调试方式启动 TestGame-armv7-es2,这时候 VS 会自动将 APK 部署到设备上,如图
部署好之后,VS 调试器会去连接设置,如图
设备上的状态如图
这个阶段可能会出现超时等错误连接不上,可以将设备上的 APP 卸载掉然后再重试,连接上之后就可以像调试本地程序一样调试了,如下断点
查看调用堆栈
查看线程信息
还有一个 Logcat 窗口可以查看设备上的日志输出
需要注意的是:当在 VS 上结束调试时,设备上的 APP 会继续运行
其他
可惜目前 UE4(4.20) 出的 Android x86 的包不能正常运行,否则可以直接部署到 VS 自带的 x86 Android 模拟器上进行调试