原文地址:Most complete ADB command manual
作者:larson
书接上文
设备连接管理
1.1、查询连接的设备/模拟器
命令:
adb devices
示例输出:
List of devices attached
cf264b8f device
emulator-5554 device
10.129.164.6:5555 device
输出的格式为[serialNumber][state],serialNumber 就是我们常说的 SN,state 如下:
offline ———— 表示设备未连接成功或者无响应.
device-设备已连接。注意这个状态并不代表 Android系统已经完全启动并可以运行。在设备启动过程中,设备实例就可以连接到 adb,然后启动后系统就会处于可运行状态。
no device————没有设备/模拟器连接。
以上输出显示当前连接了三台设备/模拟器,cf264b8f、emulator-5554、10.129.164.6:5555 分别是它们的 SN。从名称 emulator-5554 可以看出它是一个 Android 模拟器,而 10.129.164.6:5555 也就是 : 形式的 serialNumber,一般是无线连接的设备或者 Genymotion 等第三方 Android 模拟器。
常见异常输出:
No device/emulator is successfully connected.
List of devices attached
The device/emulator is not connected to adb or not responding.
List of devices attached
cf264b8f offline
1.2、USB 连接
要通过 USB 连接正常使用 adb,您需要确保几点:
- 硬件状态正常。
- 包括 Android 设备处于正常启动状态、USB 线及各种接口完好。
- Android 设备的开发者选项和 USB 调试模式已打开。
- 您可以到“设置”-“开发者选项”-“Android 调试”中查看
如果你在设置里找不到开发者选项,那么就用一个彩蛋来操作:在“设置”-“关于手机”里点击“版本号”7次。
设备驱动状态正常。
在 Linux 和 Mac OS X 下好像不需要担心这个问题,在 Windows 下可能会遇到需要安装驱动的情况,为了确认这一点,可以右键“计算机”-“属性”,进行“设备管理器”查看相关设备是否有黄色感叹号或问号,如果没有,说明驱动状态良好,否则可以先下载一个手机助手程序安装驱动。
通过 USB 线连接电脑与设备后确认状态。
adb devices
如果可以看到 xxxxxx设备则 表示连接成功。
1.3、无线连接(需要 USB 线)
除了通过 USB 连接设备和电脑来使用 adb 之外,你还可以使用无线连接——虽然连接过程中有 USB 的步骤,但是连接成功后你的设备就可以在一定范围内摆脱 USB 线的限制了!
步骤:
- 将运行 adb 的 Android 设备和电脑连接到同一个局域网,比如同一个 WiFi。
- 通过 USB 线将设备连接到电脑。
- 确保连接成功(可以运行 adb devices 看看设备是否可以列出)
- 让设备在端口 5555 上监听 TCP/IP 连接
adb tcpip 5555
- 断开 USB 连接
- 查找设备的 IP 地址
- 一般可以在“设置”-“关于手机”-“状态信息”-“IP 地址”中找到,也可以使用 adb 命令按照下面查看设备信息-IP 地址部分的方法查看。
通过 IP 地址连接设备
adb connect <device-ip-address>
这是上一步找到的设备 IP 地址。
确认连接状态
adb devices
如果你能看到
<device-ip-address>:5555 device
连接成功,若无法连接,请确认 Android 设备和电脑连接在同一个 Wifi 下,然后adb connect <device-ip-address>再次执行步骤;
若还是不是,请通过 adb kill-server 重启 adb,再从头再试。
断开无线连接命令:
adb disconnect <device-ip-address>
1.4、无线连接(无需使用 USB 线)
注意:需要 root 权限。
上一节“无线连接(需要 USB 线)”是官网文档里介绍的方法,需要借助 USB 数据线才能实现无线连接。 既然我们要实现无线连接,那是不是所有步骤都可以是无线的呢?答案是可以的。
在 Android 设备上安装一个终端仿真器,已经安装好的设备可以跳过此步骤。我使用的终端仿真器的下载地址为:Terminal Emulator for Android Downloads
将 Android 设备和要运行 adb 的电脑连接到同一局域网,比如连接到同一 wifi。
在 Android 设备上打开终端仿真器,以此运行命令:
su
setprop service.adb.tcp.port 5555
查找 Android 设备 IP 地址。
一般可以在“设置”-“关于手机”-“状态信息”-“IP地址”中找到,或者也可以使用adb命令按照下面查看设备信息-IP地址部分的方法查看。
通过计算机上的 adb 和 IP 地址连接 Android 设备。
adb connect <device-ip-address>
这是上一步找到的设备IP地址。
如果可以看到输出connected to :5555,则表示连接成功。
章节注释 1:
部分设备如小米5S + MIUI 8.0 + Android 6.0.1 MXB48T,可能需要在执行第5步之前重启adbd服务,并在设备的终端模拟器上运行:
restart adbd
如果重启不起作用,请尝试以下命令:
stop adbd
start adbd