2、ADB基础命令:adb devices、adb version、adb help、adb kill-server、adb start-server

好,咱们正式开始动手了。

这一节我带你认识几个最基础的ADB命令。说白了,它们就是ADB世界的「开门五件事」。你以后每天都会跟它们打交道,就像吃饭喝水一样自然。

我个人习惯,每次搭建新环境或者遇到设备连不上的时候,都会先跑一遍这几个命令。它们能帮你快速定位问题,心里有底。

2.1 adb version —— 看看你手里拿的是哪把刀

先问个问题:你怎么知道自己电脑上装的ADB是什么版本?

很简单,打开终端(Windows是CMD或PowerShell,Mac/Linux是Terminal),直接敲:

adb version

回车之后,你会看到类似这样的输出:

Android Debug Bridge version 1.0.41
Version 33.0.3-8952118
Installed as /usr/local/bin/adb

这三行信息分别告诉你:

  • ADB的大版本号:1.0.41 是目前比较通用的版本
  • 具体构建版本:33.0.3 对应的是Android SDK Platform-Tools的版本号
  • 安装路径:告诉你ADB这个程序实际放在哪里
我的小建议: 如果你同时装了Android Studio、SDK Manager、或者通过Homebrew/MacPorts装了ADB,可能会存在多个版本。用 adb version 可以确认当前终端调用的是哪一个。我曾经遇到过因为PATH环境变量顺序不对,调用了旧版ADB导致连不上Android 13设备的情况,查了半天才发现是版本太老。

2.2 adb devices —— 看看谁在线

这个命令,可以说是ADB里最常用的,没有之一。

adb devices

输出结果长这样:

List of devices attached
emulator-5554   device
0123456789ABCDEF   device

它列出了当前所有连接到电脑的Android设备。每一行代表一个设备,格式是:

设备序列号 + 状态

状态有三种可能:

状态 含义 说明
device 正常连接 设备已授权,可以正常通信
offline 离线 设备连接了,但ADB无法与之通信,通常需要重新插拔或重启ADB
unauthorized 未授权 设备弹出了「允许USB调试」的对话框,你还没点「确定」
注意: 如果你看到设备状态是 unauthorized,别慌。看看手机屏幕,通常会有一个「允许USB调试吗?」的弹窗。点「确定」并勾选「始终允许」,再重新跑一遍 adb devices 就好了。我曾经在培训时见过有人卡在这一步半小时,其实就差一个点击。

另外,如果你只连了一台设备,大部分ADB命令可以直接用。但如果连了多台,就需要指定设备了。这个我们后面会细讲。

2.3 adb help —— 你的随身手册

记不住命令参数怎么办?

别硬背。ADB自带了一个非常详细的帮助文档。

adb help

或者简写:

adb --help

执行之后,终端会输出一长串内容,包含了所有ADB命令的列表和简要说明。你想想看,这比去网上搜快多了吧?

我个人习惯,遇到不确定的选项,先跑一下 adb help 扫一眼。比如我想知道怎么往设备里传文件,直接搜「push」关键词就行。

小技巧: 在Windows的CMD里,你可以用 adb help | findstr "push" 来过滤输出。在Mac/Linux下则是 adb help | grep "push"。这样只显示包含「push」的行,省得看一大堆不相关的。

2.4 adb kill-server 和 adb start-server —— 重启大法好

这两个命令,我建议你当成一对组合来记。

ADB在后台运行着一个服务端进程(叫 adb server),它负责跟所有连接的设备通信。有时候这个服务会卡住、崩溃、或者端口被占用,这时候就需要重启它。

先杀掉服务:

adb kill-server

这个命令执行后,不会有任何输出。它只是默默地杀掉后台的ADB进程。你可以用任务管理器(Windows)或 ps aux | grep adb(Mac/Linux)来确认它已经不在了。

然后再启动服务:

adb start-server

执行后,你会看到:

* daemon not running; starting now at tcp:5037
* daemon started successfully

嗯,这里要注意:adb start-server 其实很少需要手动执行。因为当你运行任何其他ADB命令(比如 adb devices)时,如果发现服务没启动,它会自动帮你启动。所以大多数情况下,你只需要 adb kill-server 然后随便敲个 adb devices 就行了。

什么时候需要重启ADB服务?
  • 设备状态一直显示 offline,怎么都连不上
  • 换了USB线或USB口之后,设备识别不到
  • 电脑休眠唤醒后,ADB突然不工作了
  • 端口5037被其他程序占用了(比如某些模拟器)

我曾经在调试一个车载Android系统时,遇到设备频繁断连。折腾了半天,最后发现是USB线质量太差,导致ADB服务端不断崩溃。换了一根线,再 adb kill-server 重新连,问题就解决了。你看,有时候问题不在命令本身,而在物理连接上。

小结一下

这五个命令,你记住了吗?

  • adb version —— 查版本,确认环境
  • adb devices —— 查设备,确认连接
  • adb help —— 查手册,随时翻阅
  • adb kill-server —— 杀服务,重启大法
  • adb start-server —— 启服务,自动完成

说白了,这五个命令就是ADB的「体检套餐」。每次开始工作前跑一遍,能帮你排除掉80%的常见问题。下一节,咱们开始真正跟设备交互,安装和卸载App。