背景
ADB是一个客户端-服务器程序,主要包括以下三个组件:
客户端:运行在开发机器上,用于发送命令。开发者可以通过命令行终端调用客户端,执行各种ADB命令。守护程序(adbd):在每个Android设备或模拟器上作为后台进程运行,用于接收和执行来自客户端的命令。服务器:在开发机器上作为后台进程运行,用于管理客户端与守护程序之间的通信。
ADB提供了对Unix shell的访问权限,这意味着你可以在设备上运行各种命令,执行各种操作。此外,ADB还支持多种设备操作,如安装应用、调试应用、管理设备上的文件等。
ADB 调试手机的三种方式(USB、WLAN、WIFI)
USB 调试
手机开启开发者选项和 USB 调试模式(通常开启方式:在关于手机连续点击7次版本号);USB 连接线和各种接口正常(个别三方数据线仅支持充电,不支持调试);驱动状态正常(Linux 和 Mac 通常没有问题,Windows 可能需要安装);adb devices -l命令查看。
【注】:无法看到自己设备时,查看手机USB调试是否打开;PC端是否安装手机驱动。
1. 硬件状态正常。包括 Android 设备处于正常开机状态,USB 连接线和各种接口完好。2. Android 设备的开发者选项和 USB 调试模式已开启。可以到「设置」-「开发者选项」-「Android 调试」查看。如果在设置里找不到开发者选项,那需要通过一个彩蛋来让它显示出来:在「设置」-「关于手机」连续点击「版本号」7 次。3. 设备驱动状态正常。这一点在 Linux 和 Mac OS X 下基本不用操心,在 Windows 下有可能遇到需要安装驱动的情况,确认这一点可以右键「计算机」-「属性」,到「设备管理器」里查看相关设备上是否有黄色感叹号或问号,如果没有就说明驱动状态已经好了。否则可以下载一个手机助手类程序来安装驱动先。
WLAN 调试(Android 10 及更低版本,需要借助 USB)
Android 10以及更低的版本,必须通过 USB 连接后,才可实现同一 WLAN 下无线调试。
手机和电脑需连接在同一 WiFi 下;手机开启开发者选项和 USB 调试模式,并通过 USB 连接电脑(即adb devices -l可以查看到手机);设置手机的监听adb tcpip 5555;拔掉 USB 线,找到手机的 IP 地址;通过 IP 连接到手机adb connect ip(端口默认:5555);adb devices -l命令查看。
断开与重连
代码语言:javascript
# 断开连接
$ adb disconnect
# 重连
$ adb connect
# 如果统一 WLAN 下,adb connect 失败后,可重置 adb,再次连接
$ adb kill-server
$ adb connect
Wi-Fi 调试(Android 11 及更高版本,无需借助 USB)
从 Android 11 开始支持 ADB 以无线方式连接手机调试,可以彻底摆脱 USB 线。
手机和电脑需连接在同一 WiFi 下;保证 SDK 为最新版本(adb --version ≥ 30.0.0);手机启用开发者选项和无线调试模式(会提示确认);允许无线调试后,选择使用配对码配对。记下显示的配对码、IP 地址和端口号;运行adb pair ip:port,使用第 4 步中的 IP 地址和端口号;根据提示,输入第 3 步中的配对码,系统会显示一条消息,表明您的设备已成功配对;(仅适用于 Linux 或 Windows)运行 adb connect ip:port。