ADB 调试

Android 调试桥,简称 adb,是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利,如安装和调试应用,并提供对 Unix shell(可用来在模拟器或连接的设备上运行各种命令)的访问。

三个组件,adb-client、adb-server、adbd。其中 adb-client 和 adb-server 都是同一个可执行文件(两种运行模式而已)。adbd 则是运行在手机端的守护进程。

当我们打开“开发者模式”中的启用 ADB 调试时,其实就是运行了 adbd 守护进程。接着,通过 USB 数据线与 PC 机相连,打开 PC 机的命令行,运行 adb devices,查看当前 PC 连接的 adbd 设备。此步骤的细节:adb(client)实际上会与本地的另一个 adb(server)进程进行通信(通过 socket),如果发现 adb-server 没有运行,则运行它,adb-server 运行后,会尝试与 PC 机相连的 adbd 设备相连(手机会提示是否允许指定计算机调试此设备)。

所以实际上还是 C/S 模式,客户端是 PC 中的 adb 进程(server 模式),服务端是手机上的 adbd 守护进程(也可通过 WiFi 连接,即网络 ADB 调试),只有它们两个之间才进行实际的通信。而 PC 上的另一个 adb(client)进程其实就是操控 adb-server 的,作为一个命令行前端,仅此而已。