能够在 Chromebook 上运行 Android 应用是一项很棒的功能。它让用户能够访问庞大的 Android 生态系统产品,也让 Android 开发者有机会触达 ChromeOS 用户。
ChromeOS 为 Android 开发者提供了在 Chromebook 上部署和测试其应用的工具。为了改善用户体验,请在不同的外形规格设备上验证您的应用。
无论您是直接从 ChromeOS(使用 Chromebook 上的 Android Studio)还是从其他设备部署 Android 应用,您都可以使用 Android 调试桥来部署应用并调试与 Chromebook 的各种交互。如需了解更多详细信息,请参阅以下步骤。
启用 ADB 调试
以前,在 Chromebook 上使用 ADB 只能在开发者模式下进行。从 Chrome 81 开始,不需要 shell 的开发者可以让他们的设备退出开发者模式,仍然可以直接在 ChromeOS 中部署他们开发的应用。方法如下
转到设置并开启 Linux(如果尚未开启)。
Linux 可用后,打开 Linux 设置。
打开开发 Android 应用选项。
切换启用 ADB 调试。Chromebook 将重新启动。
Chromebook 重新启动后,会显示一条消息,告知您设备上可能存在并非从应用商店下载的应用。
现在,ADB 可用于将应用部署到 Chromebook、运行调试命令以及直接与设备交互。
为确保您的 Android 应用在各种 Chromebook 设备和可用外形规格上正常运行,Google 建议您在以下设备上测试您的应用:
- 基于 ARM 的 Chromebook
- 基于 x86 的 Chromebook
- 带有触摸屏和不带触摸屏的设备
- 可在笔记本电脑和平板电脑之间转换的设备
- 带有手写笔的设备
从 ChromeOS 部署
启用 ADB 调试后,您可以使用 Android Studio 将 Android 应用直接加载到您的 ChromeOS 设备上。如果您有 Android 应用软件包 (APK),则可以使用终端加载它。以下各部分将介绍这些选项。
使用 Android Studio 部署
按照本指南的说明设置 Android Studio 和 ADB 后,您可以直接从 Android Studio 将应用推送到 Chromebook 的 Android 容器中。Chromebook 会在设备菜单中显示为一个选项。
当您将应用推送到 Chromebook 时,将显示 ADB 授权对话框。授权后,您的应用将在新窗口中启动。
现在,您可以将应用部署到 Chromebook 并进行测试和调试了。
使用终端部署
按照以下步骤使用终端将应用部署到 Chromebook:
如有必要,请使用以下命令安装 ADB:
sudo apt install adb
使用以下命令连接到设备:
adb connect arc
将显示 USB 调试授权对话框。授予授权。
使用以下命令从终端安装您的应用:
adb install [path to your APK]
从其他设备部署
如果您无法使用上述方法,需要从其他设备推送应用,则可以使用 USB 连接或 网络地址将设备连接到 ADB。
通过网络连接到 ADB
按照以下步骤通过网络连接到 ADB:
请确保您已启用 ADB 调试。
使用以下步骤获取 Chromebook 的 IP 地址:
- 点击屏幕右下角的时钟。
- 点击齿轮图标。
- 点击您已连接的网络类型(例如 WLAN 或移动数据),然后点击网络名称。
- 记下 IP 地址。
连接到您的 Chromebook
返回开发机器,并使用 ADB 通过 Chromebook 的 IP 地址连接到 Chromebook:
adb connect <ip_address>
在您的 Chromebook 上,系统提示您允许调试器时,点击允许。您的 ADB 会话已建立。
通过网络排查 ADB 调试问题
有时,即使所有设备都已正确连接,ADB 设备仍显示离线。在这种情况下,请完成以下步骤来排查问题:
- 在开发者选项中停用ADB 调试。
- 在终端窗口中,运行
adb kill-server
。 - 重新激活ADB 调试选项。
- 在终端窗口中,尝试运行
adb connect
。 - 系统提示您允许调试时,点击允许。您的 ADB 会话随即建立。
通过 USB 连接到 ADB
要将 APK 从另一台设备推送到 Chromebook,您必须在 开发者模式下启动 ChromeOS,以便配置 Chromebook 并从主机推送应用。
按照以下步骤进入开发者模式:
- 启用 ADB 调试。
- 确定您的设备是否支持 USB 调试。
- 按 Control+Alt+T 启动 ChromeOS 终端。
输入
shell
以进入 Bash 命令行 shell:crosh> shell chronos@localhost / $
输入以下命令来设置您的设备:
$ sudo crossystem dev_enable_udc=1 $ sudo reboot
重启后,再次打开终端并运行以下命令,以在 Chromebook 的 USB 端口上启用 ADB:
$ sudo ectool usbpd <port number> dr_swap
每次拔出和重新插入 USB 连接线时,请使用此命令。为确保您的 Chromebook 处于上游端口 (UFP) 模式,您可以运行 ectool usbpd <port number>
。
要建立 ADB 会话,请按照以下步骤操作:
- 将 USB 连接线插入设备上受支持的端口。
- 在主机上,从 Android SDK 平台工具运行
adb devices
,以查看您的 Chromebook 是否列为受支持的 ADB 设备。 - 在您的 Chromebook 上,系统提示您允许调试器时,点击允许。您的 ADB 会话已建立。