VS 真机调试 Android

对于 UE 项目而言,绝大部分情况下,不需要关心 Apk 的构建流程,虽然 UE 在打包时会生成一个 Android Studio 的工程,但基本对于开发层而言是隔离的,UE 的构建工具会自动处理。

调试也是一样,在 UE 项目开发中,Coding 在 VS 或 Rider 等 游戏开发环境 中进行,直接在 VS 中进行调试也是最合适的,再去打开 Android Studio,一是工具的臃肿,二是额外的 IDE 熟悉成本。

好在,谷歌推出了 AGDE 扩展工具(Android Game Development Extension for Visual Studio),可以直接在 VS 中调试 Android 项目,而不用使用 Android Studio。

首先,就是要下载 AGDE 并安装。它支持 VS2017-2022(但 UE 的文档里建议使用 VS2019)。

Android 环境

AGDE 对于 JDK 的要求是 JDK11+,太老的版本打开时会提示不支持。新版本的 JDK 可以从 Oracle 网站上下载:Java Downloads

在系统中,添加以下环境变量:

1
2
3
4
5
6
setx JAVA_HOME "%current_dir_name%\jdk-18.0.1.1"
setx ANDROID_HOME "%current_dir_name%\android-sdk-windows"
setx ANDROID_SDK_ROOT "%current_dir_name%\android-sdk-windows"
setx ANDROID_NDK_ROOT "%current_dir_name%\%ndk_version%"
setx ANT_HOME "%current_dir_name%\apache-ant-1.8.2"
setx GRADLE_HOME "%current_dir_name%\%grade_version%"

路径可根据实际情况修改,我在 UE 开发笔记:Android 篇 文章中提供了一份完整的 Andoird 环境,只需要更新 JDK 版本即可开箱即用。

安装的 ADGE 会读取环境变量中的配置,无需再在 VS 中配置 JDK/NDK/SDK 的路径。

UE 侧的要求

调试环境包在 Project Settings-Package 中取消勾选For Distribution

根据需要,打包为 DevelopmentDebug/DebugGame即可。

VS

在 VS 解决方案的 Games 下,添加打包出的 APK:

会出现一个 PROJECT_NAME-armv7 等命名的项:

将其设置为启动项目:

即可在 VS 中看到设备:

之后就可以像在 Win 上调试编辑器一样了,F5 即可安装到设备上。

设备上运行的会进程会等待调试器附加:

附加之后就能正确地在 VS 中进行断点了。