开发环境

旁加载应用

要将应用旁加载到 Chromebook 上以进行测试,您必须在 Chrome 操作系统设备上进入开发者模式并启用未知来源。如需了解有关如何使设备进入开发者模式的详细说明,请参阅将 Chrome 操作系统设备置于开发者模式文档。设备处于开发者模式后,您可以转到 Chrome 设置,然后在“应用设置”中的“安全”下选择启用未知来源

启用开发者模式后,您可以采用多种方法将 Android 应用加载到 Chrome 操作系统设备上。如需了解详情,请参阅“在 Chromebook 上加载应用”页面的加载应用部分。

为了确保您的 Android 应用可以在各种 Chromebook 设备和可用设备类型上正常运行,Google 建议您在以下设备上对您的应用进行测试:

  • 基于 ARM 的 Chromebook
  • 基于 x86 的 Chromebook
  • 带触摸屏的设备和不带触摸屏的设备
  • 可转换的设备;也就是说,可在笔记本电脑和平板电脑之间切换的设备
  • 带触控笔的设备

要查看支持的设备的完整列表,请参阅 Chrome 操作系统设备对 Android 应用的支持页面。

使用 ADB 进行调试

当您的应用在 Chrome 操作系统设备上运行时,您可以从开发计算机上使用 Android 调试桥 (ADB) 对其进行旁加载和调试。您可以使用 USB网络地址将您的设备连接到 ADB。

要使用 ADB,您必须在开发者模式下启动 Chrome 操作系统,以便将 Android 应用旁加载到 Chromebook 上。

在开发者模式下启动后,请完成以下设置步骤:

  1. Ctrl+D 以启动您的设备。
  2. 完成设置过程。
  3. 登录您的测试帐号。
  4. 接受 Google Play 商店条款和服务条件。

启用 ADB 调试

首先,检查您的设备是否支持 USB 调试

要启用调试,请执行以下操作:

  1. 点击屏幕右下角区域的时钟。
  2. 点击齿轮图标。
  3. 依次点击“Google Play 商店”部分和“管理 Android 偏好设置”。此时会显示 Android 设置。您可能需要右键点击任务栏中的设置图标,然后将其固定在该位置,以便将来更快地访问。
  4. 向下滚动并点击关于设备
  5. 点击版本号七次以进入开发者模式。
  6. 点击窗口左上角区域的箭头以返回“设置”主屏幕。
  7. 点击新的开发者选项项目,激活 ADB 调试,然后点击确定以允许进行 ADB 调试。

您可能还需要为 Chrome 操作系统选择下面这些附加 Android 开发者选项:

  • 允许通过拖动边框自由调整窗口大小 - 此选项可让您调整应用窗口的大小。您可以使用此选项来查看应用是否能够正确处理窗口大小的变化,并确保大小调整快速且流畅。
  • 调试信息 - 在窗口标题栏中显示 Android 应用的调试信息。

通过 USB 连接到 ADB

  1. 确定您的设备是否支持 USB 调试
  2. Ctrl+Alt+T 以启动 Chrome 操作系统终端。
  3. 输入 shell 以进入 bash 命令 shell:

    crosh> shell
        chronos@localhost / $
        
  4. 输入以下命令以设置您的设备:

    $ sudo crossystem dev_enable_udc=1
        $ sudo reboot
        
  5. 重新启动后,再次打开终端并运行以下命令,以在 Chromebook 的 USB 端口上启用 ADB:

    $ sudo ectool usbpd <port number> dr_swap
        

    每次拔下 USB 数据线再重新插上时,都应使用此命令。要确保 Chromebook 处于 UFP 模式,您可以运行 ectool usbpd <port number>

  6. 将 USB 数据线插入设备上支持的端口

  7. 通过主机上的 Android SDK 平台工具运行 adb devices,可以看到您的 Chromebook 列为 adb 支持的设备。

  8. 在 Chromebook 上,当系统提示您是否允许使用调试程序时,点击允许。您的 ADB 会话即已建立。

通过网络连接到 ADB

要通过网络进行调试,您必须将 Chrome 操作系统防火墙配置为允许传入 ADB 连接:

  1. Ctrl+Alt+T 以启动 Chrome 操作系统终端。
  2. 输入 shell 以进入 bash 命令 shell:

    crosh> shell
        chronos@localhost / $
        
  3. 输入以下命令以设置开发者功能,并启用磁盘写入访问权限以更改防火墙设置。如果您需要为 chronos 用户输入 sudo 密码,您可以通过在 VT-2 提示符 (Ctrl+Alt+→) 下运行 chromeos-setdevpassword 来设置(重置)一个密码;您需要输入自己的 root 密码。

    $ sudo crossystem dev_boot_signed_only=0
        $ sudo /usr/libexec/debugd/helpers/dev_features_rootfs_verification
        $ sudo reboot
        
  4. sudo reboot 命令会重启 Chromebook。您可以按 Tab 键以启用文件名自动填充功能。您只能在 Chromebook 上完成一次此过程。

设备重启后,请登录您的测试帐号并输入以下命令,以启用安全 shell 并正确配置防火墙:

$ sudo /usr/libexec/debugd/helpers/dev_features_ssh
    

该命令完成后,您可以退出 shell。

获取 Chromebook 的 IP 地址:

  1. 点击屏幕右下角区域的时钟。
  2. 点击齿轮图标。
  3. 点击您连接到的网络类型(WLAN 或移动数据网络),然后点击相应网络的名称。
  4. 记下 IP 地址。

连接到 Chromebook:

  1. 返回开发计算机,并使用 ADB 连接到 Chromebook(通过其 IP 地址):

    adb connect <ip_address>:22
        
  2. 在 Chromebook 上,当系统提示您是否允许使用调试程序时,点击“允许”。您的 ADB 会话即已建立。

通过网络进行 ADB 调试的问题排查

有时,当一切连接正常时,ADB 设备却显示它处于离线状态。在这种情况下,请完成以下步骤来排查问题:

  1. 在“开发者选项”中停用 ADB 调试
  2. 在终端窗口中,运行 adb kill-server
  3. 重新激活 ADB 调试选项。
  4. 在终端窗口中,尝试运行 adb connect
  5. 当系统提示您是否允许进行调试时,点击允许。您的 ADB 会话即已建立。