介绍

官方的 Release 页面并没有给出 Android SDK、Android NDK、JDK 的版本及下载地址。

Unity 2019 及之后的版本可以在 Unity Hub 中添加对应的模块,但是除此之外没有下载链接。

环境

  • Windows 7
  • Unity Hub 2.4.3
  • Unity 2020.3

自动安装

使用 Unity Hub 安装 Unity 可以获得一条龙的服务:

  1. 首先需要设置好代理,可以通过浏览器正确打开 Unity - Download Archive
  2. 然后点击要安装版本对应的 Unity Hub 安装按钮,启动 Unity Hub 选择安装组件
  3. 勾选 Android Build Support 开始安装。

手动转自动

Unity Hub 安装的 Unity 版本可以在菜单中选择 添加模块,来快速方便地添加模块,几乎没有任何难度。

Unity Hub 也可以添加手动安装的 Unity 版本,但是不会显示 添加模块 菜单。因此最简单的一个想法就是将手动安装的 Unity 转换为 Unity Hub 安装的 Unity。

下面这篇文章介绍的提取 modules.json 方法,在 Unity Hub 2.4.3 上无效。

手动安装

提取 modules.json

关键在于 Unity Hub 知道不同 Unity 版本对应的 Android SDK、Android NDK、JDK 的版本及下载地址。

实际上 Unity Hub 通过 modules.json 获得要安装的模块地址,有没有什么方法快速获得这个文件呢?

进行了以下失败的尝试:

  1. Charles 抓包,抓不到需要的请求。
  2. 为 Unity Hub 设置代理服务器1,发现 Unity Hub 未遵循代理服务器设置,Charles 依然抓不到包。
  3. 使用 Wireshark,发现 HTTPS 流量都是加密的。
  4. 进入 %AppData%\UnityHub%TEMP% 目录下按照最后修改时间查找都没有找到这个大小约为 13KiB 的文件。

最终使用 Unity Hub 安装一个需要的版本,只安装 Unity Editor 本身以加快速度,这样在 Unity Editor 安装目录下会有一个 modules.json 文件。

modules.json 文件将所有内容放在了一行,并不好查看内容,可以使用 JSON Editor Online - view, edit and format JSON online 工具进行格式化。

下载安装

通过上一步拿到的 modules.json 文件,从中可以提取到要安装的 Android SDK、Android NDK、JDK 的版本及下载地址,手动下载进行安装,并将下载的文件存档保存。

总结

  1. 如果只是个人安装的话,使用 Unity Hub 安装是最省时省力的。
  2. 如果需要进行存档以便后续安装,可以尝试上面介绍的手动安装方法处理。

引用