Version: 2021.1
报告 Android 下的崩溃错误
Windows

Chrome OS

本部分包含有关为 Chrome OS 平台进行开发的信息。一般来说,Unity 用户手册中的所有 Android 文档也适用于 Chrome OS,但在本节中有一些差异和新的方面需要考虑。

设置新的 Chrome OS 设备

确保您遵循 Google 的开发者文档如何准备您的开发环境。确保您使用 Android Debug Bridge (adb) 通过 WiFi 或以太网连接到您的设备。这样使 Unity 更容易连接到您的设备。

为 Chrome OS 进行构建

在 Build Settings 中,有两个特定的 Chrome OS 目标:x86x86–64。要原生支持所有 Chrome OS 设备,请选择这两个作为构建目标,以及现有的 ARM 选项。

如果您想限制 Android 应用程序可以运行的设备,请使用 Target Devices 播放器设置。将此属性设置为 Phones, Tablets, and TV Devices Only 限制应用程序仅在手机、平板电脑和电视设备上运行。如果您只想在 Chrome OS 上运行并希望避免使用所有其他 Android 设备,请选择Chrome OS Devices Only

您必须通过 adb 连接才能在 Chrome OS 设备上运行构建的 APK。

播放器设置

除了现有的 Android 播放器设置之外,还有一些特定于 Chrome OS 的播放器设置:

播放器设置 描述
Target Architectures 选择要支持的目标架构。要支持所有 Chrome OS 设备,必须选择这两个作为构建目标。
x86 (Chrome OS) 仅支持 Chrome OS,32 位 x86。
x86–64 (Chrome OS) 仅支持 Chrome OS,64 位 x86–64。
TargetDevices 使用此设置来限制允许您的应用程序运行的设备。
All Devices 没有限制。
Phones, Tablets, and TV Devices Only 将您的应用程序限制为仅在 Android 手机、平板电脑和电视设备上运行。
Chrome OS Devices Only 排除所有 Android 手机和平板电脑,并允许您的应用程序仅在 Chrome OS 设备上运行。
Chrome OS Input Emulation 此设置将所有鼠标和触控板事件转换为触摸屏事件。默认情况下启用此设置。

如果希望为 Android 开发的应用程序无需额外的开发即可在 Chrome OS 上运行,则此设置非常有用。如果您希望您的应用程序完全接收所有鼠标和触控板事件,并在 ChromeOS 上完全支持这些输入设备,您应该禁用此设置。

默认情况下,在 Chrome OS 上,应用程序会错过鼠标位置更新(当没有按下按钮时)以及鼠标或触控板滚动事件和按钮按下。

使用 Unity Profiler 和托管调试器

由于 Chrome OS 上的网络限制,不支持为托管调试器和 Unity Profiler 自动发现 Unity 应用程序。两者都可以工作,但您必须通过设备的 IP 地址手动连接到它们。有关更多信息,请参阅应用程序性能分析文档。

全屏和窗口

Android 窗口相关的播放器设置 在 Chrome OS 上很重要,因为它具有桌面窗口用户界面。您可以使用这些设置来允许您的应用程序全屏或在一个窗口中启动,确定窗口的起始和最小尺寸,以及它是否可调整大小。窗口行为还受到通过自动旋转允许的方向的影响。

为了获得最佳性能,您应该允许纵向或横向:但不能同时允许。如果窗口应用程序不是全屏显示,您还应该允许它们调整大小。这是因为旋转和窗口化存在几个已知问题,这些问题目前限制了您的应用程序在这些模式下的行为。

游戏和触控板输入

Chrome OS 设备具有多种外形规格,包括笔记本电脑和平板电脑。一些设备支持这两种模式。由于许多 Chrome OS 设备都是笔记本电脑或具有笔记本电脑模式,因此与基于触摸屏的标准 Android 应用程序相比,鼠标、触控板和键盘输入更加重要。

默认情况下,Chrome OS 会模拟触摸屏输入,即使终端用户使用的是鼠标或触控板。这意味着默认情况下可以在 Chrome OS 设备上使用专为手机和平板电脑开发的 Android 应用程序。如果您想充分利用这些新的输入设备,您应该禁用播放器设置 Chrome OS Input Emulation。然后,此选项允许鼠标和触控板输入原样传递到您的应用程序。这意味着您需要编写 Unity 输入代码来处理鼠标输入和触控板输入;但是如果您这样做,需要能够读取光标位置,处理按钮按下和触控板点击,并读取滚动事件。

Android 和 Chrome OS 支持自定义光标。其工作方式和在其他平台上一样。

UI 和触摸屏键盘

Unity 提供了一些 UI 系统。通常在 Android 上,只要选择了输入字段或文本字段,就会出现虚拟屏幕键盘,以便用户可以输入文本。在 Chrome OS 上,如果有可用的硬件键盘,则不会显示或使用屏幕键盘。如果没有可用的硬件键盘,则使用类似 Android 上的屏幕键盘。请注意:如果您的应用特别要求打开 TouchScreenKeyboard,这与 Chrome OS 上工作方式相同。

许多 UI 小工具会在用户的鼠标光标悬停时突出显示。在 Chrome OS 上,这仅在鼠标位置报告可靠时才有效,这取决于 Chrome OS Input Emulation 播放器设置被禁用。

支持的 CPU 和设备

Unity 支持所有品牌的 Chrome OS 设备,包括笔记本电脑、平板电脑、上网本或台式机。不支持 Chromecast 设备。最低支持的主要 Chrome OS 版本是“stable”发布渠道上的 R89 和任何后续版本。与在其他平台上一样,您可以自行决定使用测试版和开发 OS 版本。

已知问题

  • x86 和 x86_64 架构支持在 Chrome OS 设备上运行,不支持在任何其他采用 Intel 处理器的 Android 设备上运行。
  • Project Tiny 无法在 Chrome OS x86 和 x86–64 设备上本地运行。
  • 在 Unity Physics 包中,Chrome OS 不支持 Havok Physics。
  • 仅通过 WiFi 或以太网支持脚本调试和性能分析。
  • 不支持 Script Only Build。
  • 仅当您的目标设备处于开发人员模式时,Android Studio 中的性能分析和调试才有效。有关更多信息,请参阅 Chromium 文档
  • 支持自动旋转到所有方向的应用程序存在一些错误,包括在不应该旋转时旋转以及有时设置为错误的分辨率。
  • 不可调整大小的窗口在具有翻盖和平板电脑模式的 Chrome OS 设备上无法正常运行。一旦进入平板电脑模式,应用程序就会全屏显示并且永远不会恢复到原来的大小,即使返回翻盖模式也是如此。
  • Chrome OS 不是受支持的 Unity 编辑器平台。
  • Burst 与针对 x86 和 x86_64 的构建不兼容。
  • x86 和 x86_64 不支持 Mono,仅 IL2CPP。
  • 如果您使用的是 Unity 视频播放器,则 Chrome OS 设备不支持 H.265 视频。H.264 是更好的选择。
报告 Android 下的崩溃错误
Windows