Android调试桥

Android调试桥(英語:Android Debug Bridge,简称:ADB),是一种拥有众多功能的、用于调试Android设备的命令行工具。使用户可以与Android设备进行通信。ADB可以执行各种设备操作(例如安装和调试应用,传输文件)[1],并提供对Unix shell(用于在设备上运行各种命令)的访问权限。它是一种客户端 - 服务器程序,包括客户端、守护进程(adbd)、服务器三个组件。[2]

工作原理

当某个ADB客户端启动时,客户端会检查是否有ADB服务器进程正在运行。如果没有,它将启动服务器进程。服务器在启动后会与本地TCP端口 5037绑定,监听ADB客户端发出的命令(所有ADB客户端均通过端口5037与ADB服务器通信),并尝试与所有正在运行的设备建立连接。它通过扫描5555到5585之间(该范围供前16个模拟器使用)的奇数号端口查找模拟器。服务器一旦发现ADB守护进程,便会与相应的端口建立连接。每个模拟器都使用一对按顺序排列的端口,用于控制台连接的偶数号端口和用于ADB连接的奇数号端口,如下所示:

模拟器 1,控制台:5554

模拟器 1,adb:5555

模拟器 2,控制台:5556

模拟器 2,adb:5557,依此类推……

如上所示,在端口5555处与ADB连接的模拟器与控制台监听端口5554的模拟器是同一个。

服务器与所有设备均建立连接后,便可以使用ADB命令访问这些设备。由于服务器管理与设备的连接,并处理来自多个ADB客户端的命令,因此可以从任意客户端(或从某个脚本)控制任意设备。[3]

启用调试桥

要通过USB连接的设备上使用ADB,必须在设备的系统设置中启用USB调试(位于开发者选项下)。

在搭载Android 4.2及更高版本的设备上,“开发者选项”选项默认处于隐藏状态。如需将其显示出来,需要依次转到 设置 > 关于手机,连续点按版本号五次。返回上一屏幕,在底部可以找到开发者选项。(在不同的系统上,“开发者选项”选项所在的位置或名字可能有所不同)。

显示出“开发者选项”后,转至 开发者选项 > USB调试,将其选项改为开启后,便可通过USB连接设备。(当尝试连接搭载Android 4.2.2或更高版本的设备时,Android系统会显示一个对话框,询问您是否接受允许通过此计算机进行调试的RSA密钥。)Android 11以上的系统可使用無線調試,輸入配對碼連接。

若需验证设备是否连接,可以在ADB服务器中执行adb devices。如果设备已连接,您将看到设备名称以“设备”形式列出。[4][3]

Shizuku可以讓Android 11以上的手機在連接無線網路時連接自身的ADB,該程式可在Google Play商店免費取得。[5]

参考资料

  1. ^ Things You Can Do with Android's adb Command. dummies. [2019-09-18]. (原始内容存档于2018-05-15) (英语). 
  2. ^ Android Debug Bridge (adb). Android Developers. [2019-09-17]. (原始内容存档于2019-09-14) (英语). 
  3. ^ 3.0 3.1 Android Debug Bridge (adb). Android Developers. [2019-09-18]. (原始内容存档于2019-09-14) (英语). 
  4. ^ Published. How to enable USB debugging mode on Android. Punch Newspapers. [2019-09-18]. (原始内容存档于2019-09-17) (美国英语). 
  5. ^ User manual | Shizuku. shizuku.rikka.app. [2024-07-18].