最全ADB命令手册(二)

725 阅读4分钟

原文地址: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