设置虚幻的Android SDK和NDK

为虚幻4.25和更高版本设置Android开发环境的方法

Windows
MacOS
Linux

虚幻引擎4.25及更高版本使用与 Android Studio 一同发布的 Android软件开发工具包(SDK),以针对所有基本Android开发组件,包括 Android原生开发工具包(NDK)。本页面提供了设置Android Studio并确保虚幻引擎正确识别此类组件的指南,以及管理NDK安装和早期引擎版本的故障排除技巧。

建议设置

务必关闭虚幻编辑器和Epic Games Launcher,以确保NDK组件的安装或引擎环境变量的设置正确无误。

若从虚幻4.24或更旧版本迁移到4.25版,建议卸载CodeWorks for Android和现有全部NDK组件,并删除CodeWorks的安装文件夹。否则,Android Studio将继续使用之前的CodeWorks安装文件夹更新SDK。

CodeWorks默认安装目录为 C:/NVPACK。卸载CodeWorks后,确保删除此文件夹。

若需支持较早安装的虚幻引擎版本,同时维持虚幻4.25或更高版本的安装,参见以下关于手动定位SDK路径Android NDK兼容性 的章节。

1. 安装Android Studio

在计算机上设置必需SDK和NDK组件之前,需安装 Android Studio 3.5.3版本

  1. 在网络浏览器中前往Android Studio存档 。滚动到 Android Studio 3.5.3,点击展开下拉菜单,下载操作系统对应的安装程序或zip文件。

    点击查看大图。

  2. 运行 Android Studio安装程序。在 欢迎使用Android Studio安装(Welcome to Android Studio Setup) 对话框中,点击 下一步(Next) 继续。

    点击查看大图。

  3. 选择组件(Choose Components) 对话框中,点击 下一步(Next) 继续。可保持启用默认组件。

    点击查看大图。

  4. 配置设置(Configuration Settings) 对话框中,选择适当安装位置,并点击 下一步(Next) 继续。建议使用默认位置。

    点击查看大图。

  5. 选择开始菜单文件夹(Choose Start Menu Folder),点击 安装(Install) 启动安装流程。

    点击查看大图。

  6. 安装完成后,点击 下一步(Next) 开始设置组件。

    点击查看大图。

  7. 设置完成后,确保勾选 启动Android Studio(Start Android Studio) 框,并点击 完成(Finish) 退出安装程序。

2.设置Android Studio供首次使用

首次启动新安装的Android Studio时,遵循以下步骤:

  1. 导入Android Studio设置(Import Android Studio Settings) 对话框显示时,选择 不导入设置(do not import settings),然后点击 确定(OK) 继续。

    Android Studio设置

  2. 数据共享(Data Sharing) 对话框显示时,选择是否要将使用统计数据发送到Google。请根据自己的判断选择是否发送数据,无论是否都将进入下个步骤。

    点击查看大图。

  3. Android Studio设置向导(Android Studio Setup Wizard) 将显示。点击 下一步(Next) 继续。若弹出更新提示,点击 X 按钮撤销提示,3.5.3版本需专门安装。

    点击查看大图。

  4. 安装类型(Install Type) 对话框中,选择 标准(Standard) 并点击 下一步(Next)

    点击查看大图。

  5. 选择UI主题(Select UI Theme) 对话框中,选择所需主题并点击 下一步(Next)

    点击查看大图。

  6. 验证设置(Verify Settings) 对话框中,请确保你使用默认的SDK路径。点击 完成(Finish) 结束安装并开始下载组件。

    点击查看大图。

    如果你不使用默认的SDK路径,在之后的步骤中,SetupAndroid.bat可能无法成功执行,因为它会无法定位内容。

  7. 下载组件后,再次点击 完成(Finish) 结束设置。

在操作系统上完成Android Studio安装

若在Windows上,重启计算机。

若在Linux上,关闭并重新打开终端窗口。

若在MacOS上,可关闭并重新打开终端窗口,或注销后重新登录。

3.设置虚幻以使用Android NDK r21b

  1. 导航至虚幻引擎4安装目录 - 例如:C:/Program Files/Epic Games/UE_4.25

  2. 打开 Engine/Extras/Android

  3. 在此目录内,运行操作系统对应的 SetupAndroid 脚本。SetupAndroid.bat对应Windows,SetupAndroid.command对应Mac,SetupAndroid.sh对应Linux。

    点击查看大图。

  4. 将弹出提示框,以接受Android SDK许可协议。键入 Y,按 Enter 接受。

点击查看大图。

  1. 安装完成后,按任意键关闭命令提示,并完成流程。

此脚本将下载并安装 NDK r21b 至Android主目录中。NDK的安装目录应为 C:/Users/[Username]/AppData/Local/Android/SDK/ndk/,其中的"username"是计算机的登录名。可看到包含NDK r21b的文件夹。

如果收到 repositories.cfg 无法加载的警告,可导航至其应该在的文件夹(通常为`C:/Users/[Username].android/repositories)并创建一个空白的 repositories.cfg` 文件。Android设置通常就可以继续了。

如果你收到一条错误消息,提示你名为 lldb;3.1 的打包文件无法加载,请使用文本编辑器打开SetupAndroid脚本,然后找到下面这行代码:

`call "%SDKMANAGER%" "platform-tools" "platforms;android-28" "build-tools;28.0.3" "lldb;3.1" "cmake;3.10.2.4988404" "ndk;21.1.6352462"`

删除这个列表中的 lldb;3.1 条目,保留其他条目。这样设置就能正常运行。这个问题在4.25.1中解决了。

手动定位SDK路径

若正确遵循上述教程部分,虚幻引擎将自动关联Android SDK、当前Android NDK版本和Java开发工具包(JDK)的SDK路径。不过,如果你在使用早期版本的虚幻引擎,你可能需要手动设置SDK路径才能兼容。如果你安装了虚幻引擎4.25,同时还安装了早期版本的引擎,并且该引擎使用了CodeWorks,则很有可能出现这种情况。

请勿同时安装CodeWorks和Android Studio,否则你会遇到错误。如果你还需要支持除了4.25或更高版本以外的早期版本的虚幻引擎,请使用本文中的Android Studio设置,然后按照本节中的说明进行操作。

如需找到SDK路径,请打开 编辑(Edit) > 项目设置(Project Settings),然后找到 平台(Platforms) > Android > Android SDK 分段。

Android Studio设置

将此类字段留空时,其会退回到前一章节中安装流程所用的默认路径集。若已安装多个此类组件,或已安装在非标准目录中,可在此手动设置路径。或可打开 DefaultEngine.ini 并在 [/Script/AndroidPlatformEditor.AndroidSDKSettings] 部分下设置。

[/Script/AndroidPlatformEditor.AndroidSDKSettings]
SDKPath = (Path="C:\Filepath")
NDKPath = (Path="C:\Filepath")
JDKPath = (Path="C:\Filepath")

若DefaultEngine.ini中不存在 SDKPathNDKPathJDKPath 的条目,则将使用Android主目录的默认路径。

Android NDK兼容性

下表显示不同虚幻引擎版本所需或兼容的NDK版本。

虚幻引擎版本

兼容NDK版本

4.25+

NDK r21b, NDK r20b

4.21 - 4.24

NDK r14b

4.19 - 4.20

NDK r12b

建议在虚幻引擎4.25上使用NDK r21,同时UE 4.25也支持NDK r20b,以解决部分低端设备的兼容问题。

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback