Android调试桥

Android调试桥（，简称：ADB），是一种拥有众多功能的、用于调试Android设备的命令行工具。开发者可以通过它与Android设备进行通信。ADB可以执行各种设备操作（例如安装和调试应用，传输文件），并提供对Unix shell（用于在设备上运行各种命令）的访问权限。它是一种客户端—服务器程序，包括客户端（adb）、守护进程（adbd）、服务器三个组件。

 实用命令 
+常见命令命令备注adb pair ip:portWi-Fi 连接前配对设备adb connect ip:port通过 Wi-Fi 连接设备adb shell pm disable-user <包名>停用应用adb uninstall [-k] <包名>卸载应用，可选项-k表示卸载时保留数据adb pull <设备里的文件路径> [电脑上的目录]复制设备里的文件到电脑adb push <电脑上的文件路径> <设备里的目录>复制电脑里的文件到设备

 工作原理 
当某个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客户端的命令，因此可以从任意客户端（或从某个脚本）控制任意设备。

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

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

显示出“开发者选项”后，转至开发者选项→USB调试，将其选项改为开启后，便可通过USB连接设备。（当尝试连接搭载Android 4.2.2或更高版本的设备时，Android系统会显示一个对话框，询问您是否接受允许通过此计算机进行调试的RSA密钥。）若需验证设备是否连接，可以在ADB服务器中执行adb devices。如果设备已连接，您将看到设备名称以“设备”形式列出。

Android 11以上的系统可使用無線調試，輸入配對碼連接。Shizuku可以方便地讓Android 11以上的手機在連接無線網路時連接自身的ADB，並为需要adb許可權的程式提供方便的API，該程式可在Google Play商店或Github免費取得。

 参考资料 

Category:Android