在 Windows、Mac 或 Linux 电脑上,可以远程调试 Android 设备正在显示的内容。本教程介绍如何设置 Android 设备并让开发电脑发现它、从电脑检查和调试设备上的实时内容,以及将 Android 页面投屏到电脑上的 DevTools 实例。

第一步:发现 Android 设备
以下流程适用于大多数用户。如果连接失败,请参阅后面的排查步骤。
- 在 Android 设备上打开开发者选项。
- 启用 USB 调试。
- 在开发电脑上打开 Chrome。
- 访问
chrome://inspect#devices。 - 确认已勾选 Discover USB devices(发现 USB 设备)。

- 使用 USB 数据线,将 Android 设备直接连接到开发电脑。
- 首次连接时,设备可能显示为 Offline(离线),处于等待授权的状态。此时应在 Android 设备屏幕上接受调试会话提示。

- 如果出现 Android 设备的型号名称,就说明 DevTools 已成功建立连接。

- 继续第二步。
排查:DevTools 无法检测到 Android 设备
首先确认硬件连接正确:
- 如果使用了 USB 集线器,尝试改为将 Android 设备直接连接电脑。
- 拔下设备与电脑之间的数据线,再重新插入。操作时,Android 设备和电脑的屏幕都应保持解锁。
- 确认数据线能够传输数据。电脑应能浏览 Android 设备上的文件。
再检查软件设置:
- 如果开发电脑运行 Windows,尝试手动安装设备的 USB 驱动,参阅安装 OEM USB 驱动。
- 某些 Windows 与 Android 设备组合,尤其是三星设备,需要额外设置。可参阅 Chrome DevTools Devices 无法检测插入的设备。
如果设备没有弹出“允许 USB 调试”提示,可以尝试:
- 在电脑上的 DevTools 获得焦点、Android 设备显示主屏幕时,断开再重新连接 USB 数据线。设备或电脑锁屏时,提示有时不会显示。
- 调整设备和电脑的显示设置,使屏幕不进入休眠。
- 将 Android 的 USB 模式设为 PTP。相关经验见 Galaxy S4 不显示 USB 调试授权对话框。
- 在 Android 开发者选项中选择“撤销 USB 调试授权”,将授权状态重置后再连接。
如果发现了本节或上述 Stack Overflow 问题中没有提到的解决办法,可以在那里补充回答,或在 developer.chrome.com 仓库提交问题。
第二步:从开发电脑调试 Android 设备上的内容
- 在 Android 设备上打开 Chrome。
- 在电脑的
chrome://inspect/#devices中,可以看到设备型号和序列号。其下方显示设备正在运行的 Chrome 版本,版本号位于括号内。

- 在 Open tab with url 文本框输入 URL,然后点击 Open。该页面会在 Android 设备上的新标签页中打开。

每个远程 Chrome 标签页都在 chrome://inspect/#devices 中拥有独立区域,可以从该区域操作标签页。如果有应用使用 WebView,也会为这些应用显示对应区域。官方示例中只打开了一个标签页。
- 点击刚打开的 URL 旁边的 Inspect(检查),即可打开新的 DevTools 实例。

电脑上打开的 DevTools 版本由 Android 设备正在运行的 Chrome 版本决定。因此,如果设备上的 Chrome 很旧,出现的 DevTools 界面可能与你平常使用的界面差别很大。
更多操作:暂停、聚焦、重新加载或关闭标签页
URL 下方的菜单可用于暂停、聚焦、重新加载或关闭标签页。

检查元素
进入 DevTools 的 Elements 面板,将鼠标悬停在元素上,该元素就会在 Android 设备的视口中高亮。
也可以通过点击 Android 屏幕上的元素,在 Elements 面板中选中它:先点击 DevTools 的 Select Element(选择元素)按钮,再点击设备屏幕上的目标元素。第一次触摸后,Select Element 会被禁用,因此每次使用都需要重新启用。
将 Android 屏幕投屏到开发电脑
点击 Toggle Screencast(切换投屏),即可在 DevTools 实例中查看 Android 设备上的页面内容。
可以通过以下方式操作投屏:
- 鼠标点击会转换成设备上的轻触,并触发相应的触摸事件。
- 电脑上的按键输入会发送到设备。
- 按住 Shift 并拖动,可以模拟双指缩放手势。
- 使用触控板、鼠标滚轮,或用鼠标指针进行甩动,可以滚动页面。
使用投屏时应注意:
- 投屏只显示网页内容。透明区域对应设备界面,例如 Chrome 地址栏、Android 状态栏和 Android 键盘。
- 投屏会降低帧率。测量滚动或动画性能时应关闭投屏,才能更准确地观察页面性能。
- Android 屏幕锁定后,投屏内容会消失。解锁后,投屏会自动恢复。
使用 Android Debug Bridge(adb)手动调试
少数情况下,另一种远程调试方式可能更有帮助。例如,你希望直接连接 Android Chrome 的 Chrome DevTools Protocol(CDP)。此时可使用 Android Debug Bridge(adb)。
- 确认已在 Android 设备上启用开发者选项和 USB 调试。
- 打开设备上的 Chrome。
- 使用 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会按照 CDP 文档的说明,提供browser目标端点。- 即使没有勾选 Discover USB devices,
chrome://inspect/#devices中也会出现设备内容。
排查问题时,优先参阅 adb 文档。还可查阅原文列出的较早指南:remote-debugging-legacy、remote-debugging、girish.in。这些属于历史资料。
原文:Remote debug Android devices。作者:Kayce Basques、Sofia Emelianova。本文为中文翻译;配图来自原页面。除另有说明外,正文采用 CC BY 4.0;代码示例采用 Apache 2.0。许可说明详见 Google Developers 网站政策。Java 是 Oracle 和/或其关联公司的注册商标。











暂无评论内容