从 Windows、Mac 或 Linux 计算机远程调试 Android 设备上的实时内容。本教程将向您介绍如何:
- 设置您的 Android 设备进行远程调试,并从开发机器上发现设备。
- 从开发机器检查和调试 Android 设备上的实时内容。
- 将 Android 设备上的内容抓屏到开发机器上的 DevTools 实例中。
第 1 步:发现您的 Android 设备
下面的工作流程适用于大多数用户。如需更多帮助,请参阅问题排查:DevTools 检测不到 Android 设备。
- 在 Android 设备上打开开发者选项屏幕。请参阅配置设备上的开发者选项。
- 选择启用 USB 调试。
- 在开发机上打开 Chrome。
- 前往
chrome://inspect#devices
。 确保已启用 发现 USB 设备。
使用 USB 线将 Android 设备直接连接到开发机器。
如果您是首次连接设备,设备将显示为“离线”且处于待身份验证状态。
在这种情况下,请接受设备屏幕上的调试会话提示。
如果您看到 Android 设备的型号名称,则表示 DevTools 已成功与您的设备建立连接。
继续执行第 2 步。
问题排查:DevTools 检测不到 Android 设备
请确保正确安装硬件:
- 如果您使用的是 USB 集线器,请尝试将 Android 设备直接连接到开发机器。
- 尝试拔出 Android 设备与开发机之间的 USB 线,然后再将其插回原位。在 Android 设备与开发计算机的屏幕未锁定时,执行此操作。
- 确保您的 USB 线正常工作。您应该能够从自己的开发计算机上检查 Android 设备上的文件。
请确保正确安装您的软件:
- 如果开发机器运行的是 Windows 系统,请尝试为 Android 设备手动安装 USB 驱动程序。请参阅安装原始设备制造商 (OEM) USB 驱动程序。
- 某些 Windows 和 Android 设备(特别是 Samsung)组合需要额外的设置。请参阅 Chrome DevTools 设备插入时未检测到设备。
如果您的 Android 设备上未显示 Allow USB Debugging 提示,请尝试:
- 当 DevTools 在开发机器上处于焦点状态时,断开并重新连接 USB 电缆,此时将会显示 Android 主屏幕。换言之,有时如果 Android 设备或开发计算机的屏幕锁定,则不会显示此提示。
- 更新您的 Android 设备和开发机的显示设置,以免其进入休眠状态。
- 将 Android 的 USB 模式设置为 PTP。请参阅 Galaxy S4 未显示“Authorize USB debugging”对话框。
- 在 Android 设备的 Developer Options 屏幕上选择 Revoke USB Debugging Authorizations,以将其重置为新状态。
如果您发现本节或“Chrome DevTools 设备插入时未检测到设备”中未提及的解决方案,请为该 Stack Overflow 问题添加答案,或在 developer.chrome.com 代码库中打开问题!
第 2 步:从开发机器调试 Android 设备上的内容
- 在 Android 设备上打开 Chrome。
在开发机上的
chrome://inspect/#devices
中,您会看到 Android 设备的型号名称,后面紧跟着其序列号。在型号名称下面,您可以看到设备上运行的 Chrome 的版本,版本号附在括号内。在 Open tab with url 文本框中,输入网址,然后点击 Open。此页面将在 Android 设备上的新标签页中打开。
每个远程 Chrome 标签页在
chrome://inspect/#devices
中都有自己的部分。您可以从此部分与该标签页互动。如果有任何使用 WebView 的应用,您也会看到针对每个应用的区域。在此示例中,只有一个标签页处于打开状态。点击您刚刚打开的网址旁边的检查。新的 DevTools 实例随即打开。
您的 Android 设备上运行的 Chrome 的版本决定在开发计算机上打开的 DevTools 的版本。因此,如果您的 Android 设备正在运行一个非常旧的 Chrome 版本,则 DevTools 实例看上去可能与您常用的实例有很大的差别。
更多操作:暂停、聚焦、重新加载或关闭标签页
在网址下方,您可以找到用于暂停、聚焦、重新加载或关闭标签页的菜单。
检查元素
前往 DevTools 实例的 Elements 面板,将鼠标悬停在一个元素上以在 Android 设备的视口中突出显示该元素。
您还可以在 Android 设备屏幕上点按一个元素,以在 Elements 面板中选择该元素。 点击 DevTools 实例上的 Select Element ,然后在 Android 设备屏幕上点按相应元素。请注意,选择元素将在第一次触摸后停用,因此,每次想要使用此功能时,您都需要重新启用它。
将 Android 屏幕抓屏到您的开发机上
点击 Toggle Screencast 以在您的 DevTools 实例中查看 Android 设备的内容。
您可以通过多种方式与抓屏互动:
- 将点击转变为点按,在设备上触发适当的触摸事件。
- 将计算机上的按键发送至设备。
- 如需模拟双指张合手势,请在拖动时按住 Shift 键。
- 如需滚动,请使用触控板或鼠标滚轮,或者使用鼠标指针抛式滚动。
关于抓屏的一些注意事项:
- 抓屏仅显示页面内容。抓屏的透明部分表示设备界面,如 Chrome 地址栏、Android 状态栏或 Android 键盘。
- 抓屏会对帧率产生负面影响。在测量滚动或动画时停用抓屏,以更准确地了解页面的性能。
- 如果您的 Android 设备屏幕锁定,您的抓屏内容将消失。将您的 Android 设备屏幕解锁可自动恢复抓屏。
通过 Android 调试桥 (adb) 手动调试
在极少数情况下,使用其他远程调试方法可能很有用。例如,您可能需要直接连接到 Android 版 Chrome 的 Chrome DevTools Protocol (CDP)。
为此,您可以使用 Android 调试桥 (adb):
- 请务必在 Android 设备上启用开发者选项和 USB 调试。
- 在 Android 设备上打开 Chrome。
通过以下方式将 Android 设备连接到开发机器:
- 一根 USB 线(直通)。
- 或者,使用 adb Wi-Fi 连接。
在开发机器的命令行中,运行
adb devices -l
,然后检查列表中是否有您的设备。将设备上的 CDP 套接字转发到机器的本地端口,例如
9222
。如需完成此操作,请运行以下命令:adb forward tcp:9222 localabstract:chrome_devtools_remote
成功连接后,请确保:
http://localhost:9222/json
列出您的page
目标。http://localhost:9222/json/version
会公开browser
目标端点,如 CDP 文档所示。- 系统会填充
chrome://inspect/#devices
,即使未选中发现 USB 设备设置也是如此。
如需进行问题排查,请参阅:
adb
文档您也可以阅读旧版指南: