3、基础命令实战(上):adb devices、adb version、adb help、adb kill-server、adb start-server

好,咱们正式开始敲命令了。

这一节的内容,说白了就是 ADB 的「开场五连招」。你刚装上 ADB,总得先确认它活着、能用、连上了设备吧?这五个命令就是干这个的。

我个人习惯,每次开始调试前,都会先跑一遍 adb devices 确认连接状态。别嫌麻烦,这能省掉后面很多莫名其妙的坑。

3.1 adb version —— 看看你的家伙什儿版本

先问一句:你知道自己电脑上的 ADB 是什么版本吗?

很多新手拿到 ADB 就直接开干,结果遇到一些奇奇怪怪的错误,最后发现是版本太旧。我建议你第一步先跑这个命令:

adb version

输出大概长这样:

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

这里你会看到三个信息:

  • 主版本号:1.0.41 是目前的主流版本
  • 构建版本:33.0.3 对应的是 Android SDK 版本
  • 安装路径:告诉你 ADB 在哪儿
我的小建议:如果你发现版本号低于 1.0.39,建议更新一下。我在项目中遇到过因为版本太旧导致 adb install 失败的情况,折腾了半天才发现是版本问题。

3.2 adb help —— 最好的老师就在手边

说实话,我到现在还会用这个命令。

你记不住所有参数?很正常。我也记不住。但 adb help 能帮你。它会把所有命令和参数列出来,相当于一个内置的速查手册。

adb help

输出内容很长,我挑几个重点区域说说:

命令分类 说明
global options 全局参数,比如 -s 指定设备
general commands 通用命令,像 devices、version 就在这
networking 网络相关,无线调试什么的
file transfer 文件传输,push/pull
注意:Windows 用户如果发现 adb help 输出乱码,通常是编码问题。在 cmd 里先执行 chcp 65001 切换到 UTF-8 编码就好了。

3.3 adb devices —— 确认你的设备在线

这是整个 ADB 调试里最常用的命令,没有之一。

adb devices

输出示例:

List of devices attached
emulator-5554   device
0123456789ABCDEF   device

这里有两列信息:

  • 序列号:设备的唯一标识。真机是一串十六进制字符,模拟器是 emulator-xxxx
  • 状态device 表示正常连接,offline 表示离线,unauthorized 表示未授权
重点来了:如果你看到 unauthorized,别慌。这是因为手机上的 USB 调试授权弹窗你没点「允许」。拔掉重连,手机上点一下「允许 USB 调试」就行。

我曾经有一次连着五台设备同时调试,全靠 adb devices 确认每台的状态。你想想看,要是没有这个命令,你根本不知道哪台连上了哪台没连上。

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

这两个命令通常成对出现。说白了就是「重启 ADB 服务」。

什么时候需要重启?

  • ADB 突然不认设备了
  • 一直显示 offlineunauthorized
  • 换了 USB 口或者换了电脑
adb kill-server
adb start-server

执行 adb kill-server 后,ADB 服务会停止。然后 adb start-server 会重新启动它。启动时你会看到:

* daemon not running; starting now at tcp:5037
* daemon started successfully
避坑指南:我曾经在调试时发现 adb devices 一直为空,折腾了半小时。最后执行了一次 adb kill-server 再重启,问题立刻解决。嗯,有时候「重启大法」在 ADB 这里同样管用。

这里有个细节:ADB 服务默认监听 5037 端口。如果你电脑上这个端口被占用了,启动就会失败。可以用 netstat -ano | findstr 5037(Windows)或 lsof -i:5037(Mac/Linux)查一下。

3.5 知识体系总览

下面这张图把这五个命令的关系梳理了一下,你可以对照着看:

ADB 基础命令 adb version 查看 ADB 版本号 确认工具是否可用 adb help 内置命令速查手册 所有参数一目了然 adb devices 查看已连接设备 确认设备状态 adb kill-server 停止 ADB 服务 adb start-server 启动 ADB 服务 五个命令构成 ADB 调试的起点

这五个命令,就是 ADB 调试的「起手式」。你每次开始工作前,心里默念一遍:版本对不对?设备连没连?服务跑没跑?养成这个习惯,后面会少踩很多坑。

嗯,今天就先到这。把这五个命令敲熟,咱们下一节继续深入。


公众号:蓝海资料掘金营,微信 deep3321