Version: 2020.3
Android
将 Unity 集成到 Android 应用程序中

Android 环境设置

要为 Android 构建和运行应用程序,必须安装 Unity Android Build Support 平台模块。还需要安装 Android 软件开发工具包(SDK)和原生开发工具包(NDK)才能在 Android 设备上构建和运行代码。默认情况下,Unity 会安装基于 OpenJDK 的 Java 开发工具包。

注意:Unity 支持 Android 4.4 “KitKat” 和更高版本。请参阅 AndroidSdkVersions 以了解详细信息。

1.安装 Android Build Support 和 Android SDK & NDK Tools

使用 Unity Hub 安装 Android Build Support 和所需的依赖项:Android SDK & NDK Tools 以及 OpenJDK。

添加 Android 模块
添加 Android 模块

可在安装 Unity Editor 时安装 Android Build Support、Android SDK & NDK Tools 以及 OpenJDK,也可在以后添加它们。

如需了解关于添加 Android 模块的信息:

如果使用的是 2018 版 Unity,请参阅 Unity 2018.4 文档以了解如何手动安装这些依赖项。

2.在设备上启用 USB 调试

要启用 USB 调试,必须在设备上启用开发者选项 (Developer options)。要完成该操作,请在设备的 Settings 菜单中找到构建版本号。版本号的位置因设备而异;对于原生 Android,此信息通常位于 Settings > About phone > Build number 中。有关设备和 Android 版本的具体信息,请咨询硬件制造商。

按照上述说明导航到版本号后,点击版本号七次。随后会弹出一条通知消息“You are now X steps away from being a developer”,其中“X”是一个数字,每点击一次就会倒数一个数。在第七次点击时,Developer options 将解锁。

注意:在 4.2 (Jelly Bean) 之前的 Android 版本上,默认启用 Developer options。

选择 Settings > Developer options(如果找不到,在一些设备上,可以查找路径 Settings > System > Developer options),然后选中 USB debugging 复选框。Android 通过 USB 连接到计算机的情况下将进入调试模式。

用 USB 线缆将设备连接到计算机。如果在 Windows 计算机上进行开发,可能需要安装特定于设备的 USB 驱动程序。如需了解更多信息,请参阅设备制造商网站。

Windows 和 macOS 的设置过程有所不同;对此,Android 开发者网站上有详细说明。有关将 Android 设备连接到 SDK 的更多信息,请参阅 Android 开发者文档的运行应用程序 (Run Your App) 部分。

为 Chrome OS 设备进行 ADB 调试

有关如何为 Chrome OS 设备设置开发环境并启用 ADB 调试的信息,请参阅 Google 文档 Chrome OS 开发者环境 (Chrome OS Developer Environments)

连接到您的 Chrome OS 设备

在部署到设备之前,您需要通过设备的 IP 地址手动连接 ADB。

首先需要 IP 地址。打开 Settings 应用并在边栏中选择 Network。然后单击激活的网络接口。

如果该接口为无线连接,接下来选择要连接到的 SSID。您将在详细信息中看到 IP 地址。请记下该地址。

如果使用的是有线连接,您的 IP 地址应显示在第一个详细信息页面上。

现在,您可以进行连接了。对于本示例,假定设备的 IP 为 192.168.0.100。在 shell 或 terminal 中运行以下命令

adb connect 192.168.0.100

如果连接成功,您将看到 connected to 192.168.0.65:5555 之类的消息。而且 adb devices 应验证设备已连接。 List of devices attached 192.168.0.65:5555 device

从现在起,您可以像通过 USB 连接一样运行 ADB 命令来定位设备。

注意: 如果您的设备或主机进入睡眠状态或失去网络连接,您可能需要重新连接。

自定义 Android SDK & NDK Tools 和 OpenJDK 的安装

Unity 建议使用 Unity Hub 来安装 Android SDK & NDK Tools,以确保您获得正确的版本和配置。Unity 分别在 /Unity/Hub/Editor/[EditorVersion]/Editor/Data/PlaybackEngines/AndroidPlayer/ 下的 SDKNDKOpenJDK 文件夹中安装 Android SDK & NDK Tools 和 OpenJDK。

如果多个 Unity 版本具有相同的依赖关系(请确保查看系统要求以了解最新要求),并希望避免重复安装 Android SDK & NDK Tools 和 OpenJDK,则可以在 Unity Preferences 窗口中指定一个共享位置。为此,请选择 Preferences > External tools,并在 SDKNDK 字段中输入目录路径:

Preferences 窗口中显示了 Android 外部工具设置
Preferences 窗口中显示了 Android 外部工具设置

警告:Unity 未正式支持除了提供的 OpenJDK、SDK 或 NDK 版本外的其他版本。

要更改 Unity 用于构建 Android 应用程序的 OpenJDK、SDK Tools 或 NDK,请执行以下操作:

  1. 打开项目。
  2. 打开 Preferences 窗口(Windows 和 Linux:Edit > Preferences;macOS:Unity > Preferences)。
  3. 在左侧导航栏中,选择 External Tools

更改 OpenJDK 路径

  1. 取消选中 JDK Installed with Unity (recommended)
  2. JDK 字段中输入 JDK 安装文件夹的路径,或使用 Browse 按钮找到该路径。

更改 Android SDK Tools 路径

  1. 取消选中 Android SDK Tools Installed with Unity (recommended)
  2. SDK 字段中输入 SDK 安装文件夹的路径,或使用 Browse 按钮找到该路径。

Unity 可使用随 Unity 版本发布时提供的最新版 Android SDK。

更改 Android NDK 路径

  1. 取消选中 Android NDK Installed with Unity (recommended)
  2. NDK 字段中输入 NDK 安装文件夹的路径,或使用 Browse 按钮找到该路径。

每个版本的 Unity 都需要安装特定版本的 Android NDK:

Unity 版本 NDK 版本
2018.4 LTS r16b
2019.4 LTS r19
2020.3 LTS r19

请参阅系统要求页面以查看完整要求。

更新 Android SDK Target API

Unity Hub 安装了 Google Play 所需的最新版本的 Android SDK Target API。

如果您需要使用更新的版本,您可以从 Player Settings 窗口的 Target API Level字段更改 Target API(菜单:Edit > Project Settings > Player,然后选择 Android 平台)。您可以在 Other Settings > Identification 部分找到 Target API Level 选项。

为 Android SDK 选择目标 API
为 Android SDK 选择目标 API

选择默认选项以外的选项后,Unity 会提示您更新 Android SDK API。可选择执行以下操作之一:

  • 更新 Android SDK
  • 继续使用已安装的最高版本的 Android SDK

注意:如果您选择旧版本的 Target API,Unity Android SDK Updater 将无法执行更新,并会显示以下消息:

Android SDK 不包括您的(版本的)目标 SDK。请使用 Android SDK Manager 安装您的目标 SDK 版本。安装 SDK 后重新启动 Unity 以使更改生效。

在这种情况下,要更新 Android SDK Target API,您必须通过 Android Studio 或者命令行工具使用 Android sdkmanager。无论您选择哪种方法,请确保在 Edit > Preferences > External Tools 窗口中为 Unity 选择正确的 Android SDK 文件夹。

在 Windows 上,如果 Unity 编辑器安装在默认文件夹 (/Program Files/) 中,您必须以提升的权限(以管理员身份运行)运行 sdkmanager 才能执行更新。

Android
将 Unity 集成到 Android 应用程序中