要创建用于 Android 的 Unity 应用程序,您首先需要将您的 Unity 项目设置为支持 Android。要支持 Android,Unity 项目需要以下依赖项:
在您开始之前,请查看 Unity 的 Android 要求和兼容性文档,以确保您了解为 Android 开发 Unity 应用程序的任何限制。
Unity 将依赖项作为 模块 分发,这意味着您必须使用 Unity Hub 来安装它们。您可以在安装新的 Unity 编辑器版本时安装它们,也可以将它们添加到现有的 Unity 编辑器安装中。要安装模块:
要安装的三个模块是:
Unity 分别在 /[EditorVersion]/Editor/Data/PlaybackEngines/AndroidPlayer/
下的 SDK
、NDK
和 OpenJDK
文件夹中安装 Android SDK & NDK 工具 和 OpenJDK。
您应该使用 Unity Hub 安装 Android SDK & NDK 工具 和 OpenJDK,以确保您获得正确的版本和配置。但是,在某些情况下,更改 Unity 用于为 Android 构建应用程序的 SDK、NDK 或 JDK 非常有用。例如,如果您有多个具有相同依赖项的 Unity 版本,并且您不想复制 SDK、NDK 和 JDK 的安装,则可以指定一个共享位置。
要使 Unity 使用依赖项的自定义版本:
本节包含有关每个 Unity 版本支持的每个依赖项的版本的信息。每个 Unity 版本都需要特定版本的 Android NDK 和 Android JDK,但对 Android SDK 没有确切的版本要求。
Unity 依赖于 Android SDK 提供的工具,而不同版本的 SDK 通常具有相同的工具可用。这意味着您可以使用任何最新版本的 SDK,因为它们都包含 Unity 所需的构建工具。
下表显示了每个 Unity 版本安装的支持的 Android SDK 工具版本:
Unity 版本 | SDK 工具版本 | SDK 构建工具版本 | SDK 命令行工具版本 | SDK 平台工具版本 |
---|---|---|---|---|
6000.0 | 26.1.1 | 34.0.0 | 6 | 34.0.5 |
2022.3 LTS | 26.1.1 | 32.0.0 | 6 | 32.0.0 |
2021.3 LTS | 26.1.1 | 32.0.0 | 6 | 32.0.0 |
2020.3 LTS | 26.1.1 | 30.0.2 | 2 | 28.0.1 |
重要事项:Unity 版本 2020.3 和 2021.3 LTS 不支持 Android SDK 构建工具版本 31 及更高版本。
下表显示了每个 Unity 版本支持的 NDK 版本:
Unity 版本 | NDK 版本 |
---|---|
6000.0 | r23b (23.1.7779620) |
2022.3 LTS | r23b (23.1.7779620) |
2021.3 LTS | r21d (21.3.6528147) |
2020.3 LTS | r19 (19.0.5232133) |
下表显示了每个 Unity 版本支持的 JDK 版本:
Unity 版本 | JDK 版本 |
---|---|
6000.0 | 17 (OpenJDK 版本 17) |
2022.3 LTS | 11 (OpenJDK 版本 11) |
2021.3 LTS | 11 (OpenJDK 版本 11) |
2020.3 LTS | 8 (OpenJDK 版本 1.8) |
注意:只有 Unity 版本 2023.2 支持 CMake 版本 3.22.1。Unity 版本 2022.3 及更低版本不支持 CMake。
Android 的 外部工具 部分允许您配置用于在 Android 设备上设置 Unity 项目的 Android 开发工具的设置。要访问 Android 的 外部工具 部分,请转到 编辑 > 首选项(macOS:Unity > 设置),然后导航到 外部工具 > Android。
有关一般的 首选项 设置,请参考 首选项。
设置 | 说明 |
---|---|
与 Unity 一起安装的 JDK(推荐) | 指示是否使用与 Unity 一起安装的推荐版本的 Java 开发工具包 (JDK),还是使用自定义的 JDK 安装。如果启用,则设置将显示 JDK 安装文件夹的路径。要使用自定义的 JDK 版本,请禁用此选项并单击 浏览 以设置自定义的 JDK 安装文件夹路径。 |
与 Unity 一起安装的 Android SDK 工具(推荐) | 指示是否使用与 Unity 一起安装的推荐版本的 Android SDK 工具,还是使用自定义的 SDK 工具安装。如果启用,则设置将显示 SDK 工具安装文件夹的路径。要使用自定义的 SDK 工具版本,请禁用此选项并单击 浏览 以设置自定义的 SDK 工具安装文件夹路径。 |
与 Unity 一起安装的 Android NDK(推荐) | 指示是否使用与 Unity 一起安装的推荐版本的 Android 原生开发工具包 (NDK),还是使用自定义的 NDK 安装。如果启用,则设置将显示 NDK 安装文件夹的路径。要使用自定义的 NDK 版本,请禁用此选项并单击 浏览 以设置自定义的 NDK 安装文件夹路径。 |
与 Unity 一起安装的 Gradle(推荐) | 指示是否使用与 Unity 一起安装的推荐版本的 Android Gradle,还是使用自定义的 Gradle 安装。如果启用,则设置将显示 Gradle 安装文件夹的路径。要使用自定义的 Gradle 版本,请禁用此选项并单击 浏览 以设置自定义的 Gradle 安装文件夹路径。 |
退出时停止 Gradle 守护程序 | 指示 Unity 编辑器退出时是否停止 Gradle 守护程序。此选项默认启用,它可能有助于释放计算机上的资源。 |
退出时终止 ADBAndroid 调试桥 (ADB)。您可以使用 ADB 在构建后手动部署 Android 包 (APK)。 更多信息 请参阅 词汇表 中的解释 服务器 |
指示 Unity 编辑器退出时是否终止 Android 调试桥 (adb) 服务器。此选项默认启用,它可能有助于释放计算机上的资源。 |
终止外部 ADB 实例 | 指示是否终止外部 Android 调试桥 (ADB) 实例。这些是独立的实例,不属于 与 Unity 一起安装的 Android SDK 工具(推荐) 中设置的 Android SDK。多个 ADB 实例可能会互相冲突,并在使用 Android SDK 时导致问题。例如,在更新 API 或应用程序启动期间。 注意:此选项默认启用,以防止不同 ADB 实例之间的冲突。 |
最大 JVM 堆大小(兆字节) | 指定在 Android 构建过程中可以分配的最大 Java 堆大小。该值以兆字节为单位,默认值为 4096。您可以根据项目要求增加或减少此值。如果遇到堆空间错误,请增加此值。 |
密钥库专用位置 | 指定您的 Android 密钥库Android 系统,允许您存储加密密钥条目,以增强设备安全性。 更多信息 请参阅 词汇表 中的解释 的文件夹路径。Unity 在构建过程中签署 Android 应用程序时使用此路径。要为您的应用程序设置新的路径,请单击 浏览 并导航到您要存储 Android 密钥库的文件夹。有关更多信息,请参考 选择密钥库位置。 |
Unity Hub 安装 Google Play 所需的最新版本的 Android SDK 目标 API。如果您需要使用更新的版本,您可以在 Android 播放器设置 中更改它。要执行此操作:
如果您选择的目标 API 版本比最新安装的版本更新,Unity Android SDK 更新程序可以自动下载并安装新版本。Unity 将显示提示,您可以选择以下任一选项:
如果您选择的目标 API 版本尚未安装,并且比最新安装的版本旧,则 Unity Android SDK 更新程序无法执行更新,Unity 将显示错误消息。在这种情况下,要更新 Android SDK 目标 API,您必须使用 Android sdkmanager,它可以从 Android Studio 或 命令行工具 获得。无论您选择哪种方法,请确保在 编辑 > 首选项 > 外部工具 窗口中为 Unity 选择正确的 Android SDK 文件夹。有关更多信息,请参考 自定义依赖项。
重要事项:在 Windows 上,如果您将 Unity 编辑器安装在默认文件夹(/Program Files/
)中,则必须以提升的权限(以管理员身份运行)运行 sdkmanager
来执行更新。