Android 调试桥 (adb
) 是一种功能多样的命令行工具,可让您与设备进行通信。adb
命令可用于执行各种设备操作,例如安装和调试应用。adb
提供对 Unix shell(可用来在设备上运行各种命令)的访问权限。它是一种客户端-服务器程序,包括以下三个组件:
- 客户端:用于发送命令。客户端在开发机器上运行。您可以通过发出
adb
命令从命令行终端调用客户端。 - 守护程序 (adbd):用于在设备上运行命令。守护程序在每个设备上作为后台进程运行。
- 服务器:用于管理客户端与守护程序之间的通信。服务器在开发机器上作为后台进程运行。
adb
包含在 Android SDK 平台工具软件包中。您可以使用 SDK 管理器下载此软件包,该管理器会将其安装在 android_sdk/platform-tools/
下。如果您需要独立的 Android SDK 平台工具软件包,请点击此处进行下载。
如需了解如何通过 adb
连接设备以供使用,包括如何使用 Connection Assistant 来排查常见问题,请参阅在硬件设备上运行应用。
adb 的工作原理
当您启动某个 adb
客户端时,该客户端会先检查是否有 adb
服务器进程已在运行。如果没有,它会启动服务器进程。服务器在启动后会与本地 TCP 端口 5037 绑定,并监听 adb
客户端发出的命令。
注意:所有 adb
客户端均使用端口 5037 与 adb
服务器通信。
然后,服务器会与所有正在运行的设备建立连接。它通过扫描 5555 到 5585 之间(该范围供前 16 个模拟器使用)的奇数号端口查找模拟器。服务器一旦发现 adb
守护程序 (adbd),便会与相应的端口建立连接。
每个模拟器都使用一对按顺序排列的端口:一个用于控制台连接的偶数号端口,另一个用于 adb
连接的奇数号端口。例如:
模拟器 1,控制台:5554
模拟器 1,adb
:5555
模拟器 2,控制台:5556
模拟器 2,adb
:5557
依此类推。
如上所示,在端口 5555 处与 adb
连接的模拟器与控制台监听端口为 5554 的模拟器是同一个。
服务器与所有设备均建立连接后,您便可以使用 adb
命令访问这些设备。由于服务器管理与设备的连接,并处理来自多个 adb
客户端的命令,因此您可以从任意客户端或从某个脚本控制任意设备。
在设备上启用 adb 调试
如要在通过 USB 连接的设备上使用 adb,您必须在设备的系统设置中启用 USB 调试(位于开发者选项下)。在 Android 4.2(API 级别 17)及更高版本中,开发者选项屏幕默认处于隐藏状态。如需将其显示出来,请启用开发者选项。
现在,您已经可以通过 USB 连接设备了。您可以通过从 android_sdk/platform-tools/
目录执行 adb devices
来验证设备是否已连接。如果已连接,您将看到设备名称以“设备”形式列出。
注意:当您连接搭载 Android 4.2.2(API 级别 17)或更高版本的设备时,系统会显示一个对话框,询问您是否接受允许通过此计算机进行调试的 RSA 密钥。这种安全机制可以保护用户设备,因为它可以确保用户只有在能够解锁设备并确认对话框的情况下才能执行 USB 调试和其他 adb 命令。
如需详细了解如何通过 USB 连接到设备,请参阅在硬件设备上运行应用。
通过 Wi-Fi 连接到设备
注意:以下说明不适用于搭载 Android 11(API 级别 30)的 Wear 设备。如需了解详情,请参阅调试 Wear OS 应用指南。
Android 11(API 级别 30)及更高版本支持使用 Android 调试桥 (adb) 从工作站以无线方式部署和调试应用。例如,您可以将可调试应用部署到多台远程设备,而无需通过 USB 实际连接设备。这样就可以避免常见的 USB 连接问题,例如驱动程序安装方面的问题。
在开始使用无线调试功能之前,请执行以下操作:
-
确保您的工作站和设备已连接到同一无线网络。
-
确保您的设备搭载的是 Android 11(API 级别 30)或更高版本(针对手机),或者 Android 13(API 级别 33)或更高版本(针对 TV 和 WearOS)。如需了解详情,请参阅查看并更新 Android 版本。
-
如果使用 IDE,请确保您已安装最新版本的 Android Studio。您可以在此处下载。
-
在您的工作站上,将 SDK 平台工具更新到最新版本。
如需使用无线调试功能,您必须使用二维码或配对码将设备与工作站配对。您的工作站和设备必须连接到同一无线网络。如需连接到您的设备,请按以下步骤操作:
-
在您的设备上启用开发者选项。
-
打开 Android Studio,然后从运行配置菜单中选择 Pair Devices Using Wi-Fi。
图 1. 运行配置菜单。
系统会弹出 Pair devices over Wi-Fi 窗口,如图 2 所示。
图 2. 使用二维码或配对码配对设备的弹出式窗口。
-
在您的设备上,点按无线调试,然后配对您的设备:
图 3. Google Pixel 手机上的无线调试设置屏幕截图。
-
如需使用二维码配对设备,请选择使用二维码配对设备,然后扫描 Pair devices over Wi-Fi 弹出式窗口中提供的二维码(如图 2 所示)。
-
如需使用配对码配对设备,请从 Pair devices over Wi-Fi 弹出式窗口中选择 Pair device with pairing code。在您的设备上,选择使用配对码配对设备,并记下提供的 6 位数配对码。设备显示在 Pair devices over Wi-Fi 窗口中后,您可以选择 Pair,并输入设备上显示的 6 位数配对码。
图 4. 6 位数配对码输入示例。
-
-
配对设备后,您可以尝试将应用部署到该设备。
如需与其他设备配对,或在工作站上取消保存当前设备,请在设备上前往 Wireless debugging。在 Paired devices 下点按工作站名称,然后选择 Forget。
-
如果您想快速开启和关闭无线调试功能,可以利用快捷设置开发者图块进行无线调试(可在开发者选项 > 快捷设置开发者图块中找到)。
图 5. 快捷设置开发者图块设置可让您快速开启和关闭无线调试功能。
使用命令行连接 Wi-Fi
另外,如果您想在不使用 Android Studio 的情况下,通过命令行连接到您的设备,请按以下步骤操作:
-
如前所述,在设备上启用开发者选项。
-
如前所述,在设备上启用无线调试。
-
在工作站上,打开终端窗口并前往
android_sdk/platform-tools
。 -
选择 Pair device with pairing code,找到您的 IP 地址、端口号和配对码。记下设备上显示的 IP 地址、端口号和配对码。
-
在工作站的终端上,运行
adb pair ipaddr:port
。请使用上述 IP 地址和端口号。 -
收到提示时,输入配对码,如下所示。
图 6. 表明设备已成功配对的消息。
解决无线连接问题
如果您通过无线方式连接到设备时遇到问题,不妨尝试通过以下问题排查步骤来解决问题。
检查您的工作站和设备是否满足前提条件
检查工作站和设备是否满足本部分开头列出的前提条件。
检查是否存在其他已知问题
下面列出了当前已知的无线调试问题(使用 adb 或 Android Studio)及其解决办法:
-
无法连接到 Wi-Fi:安全的 Wi-Fi 网络(如企业 Wi-Fi 网络)可能会阻止点对点连接,并且不允许您通过 Wi-Fi 进行连接。请尝试通过网线连接,或连接到其他(非公司)Wi-Fi 网络。您也可以选择使用非公司网络通过 tcp/ip(在初始 USB 连接之后)使用
adb connect ip:port
进行无线连接。 -
“通过 Wi-Fi 使用
adb
”的功能有时会自动关闭:如果设备切换 Wi-Fi 网络或断开网络连接,就可能会发生这种情况。如需解决此问题,请重新连接到网络。 -
配对成功后设备未连接:
adb
依赖 mDNS 发现并自动连接到配对设备。如果您的网络或设备配置不支持 mDNS 或已停用 mDNS,那么您需要使用adb connect ip:port
手动连接到设备。
首次连接 USB 后,与设备进行无线连接(此方案仅适用于 Android 10 及更低版本)
注意:此工作流也适用于 Android 11(及更高版本),需要注意的是,它还涉及通过物理 USB 进行的 *初始* 连接。
注意:以下说明不适用于搭载 Android 10(API 级别 29)或更低版本的 Wear 设备。如需了解详情,请参阅调试 Wear OS 应用指南。
一般情况下,adb
通过 USB 与设备进行通信,但您也可以通过 Wi-Fi 使用 adb
。若要连接到搭载 Android 10(API 级别 29)或更低版本的设备,请通过 USB 执行以下初始步骤:
注意:并非所有接入点都适用。您可能需要使用防火墙已正确配置为支持