群控软件把大部分操作做成了按钮,但遇到设备不识别、安装失败、画面黑屏时,最后还是要回到 ADB。下面按使用场景整理 20 条常用 ADB 命令,先会查,再会改。
使用原则
- 先只读,后写入:先看状态,再执行安装、卸载、清数据。
- 一次只改一台:批量执行前,先用单台验证。
- 破坏性命令先确认:清数据、重启、卸载不可逆。
设备与系统信息
| 命令 | 用途 |
|---|---|
adb devices -l | 列出设备、序列号和连接方式 |
adb get-serialno | 查看当前设备序列号 |
adb shell getprop ro.product.model | 查看机型 |
adb shell getprop ro.build.version.release | 查看安卓版本 |
adb shell wm size | 查看屏幕分辨率 |
adb shell wm density | 查看屏幕 DPI |
adb shell dumpsys battery | 查看电量、温度、充电状态 |
adb shell df -h | 查看存储剩余空间 |

画面与输入
| 命令 | 用途 |
|---|---|
adb shell screencap -p /sdcard/s.png | 截取当前画面 |
adb pull /sdcard/s.png . | 把截图拉到电脑 |
adb shell input keyevent 26 | 电源键(亮屏/息屏) |
adb shell input keyevent 82 | 解锁菜单键 |
adb shell input swipe 540 1800 540 600 300 | 向上滑动 |
应用与文件
| 命令 | 用途 |
|---|---|
adb shell pm list packages -3 | 列出第三方应用 |
adb install -r app.apk | 覆盖安装 APK |
adb uninstall 包名 | 卸载应用 |
adb shell am start -n 包名/.Activity | 启动指定界面 |
adb shell pm clear 包名 | 清除应用数据(高风险) |
日志与网络
| 命令 | 用途 |
|---|---|
adb logcat -d > log.txt | 导出当前日志 |
adb shell ip route | 查看网络路由 |
adb tcpip 5555 | 切换无线调试端口(旧方式) |
adb connect IP:5555 | 连接无线设备 |
三条高风险命令
pm clear 会清空应用数据,uninstall 会删除应用,reboot 会中断正在跑的任务。批量执行前先在单台设备确认,并确认没有未保存的数据。
排障时的使用顺序
adb devices -l看设备是否在线、序列号是否唯一。- 不在线:换线、换口、检查手机授权弹窗。
- 在线但黑屏:看
wm size、dumpsys battery和投屏日志。 - 安装失败:先看错误码,再用
pm list packages确认是否已安装旧版本。 - 任务异常:
logcat -d导出日志,按时间点定位。 - 批量前先用一台设备跑完整流程。
命令之外的三个习惯
- 把常用命令写成脚本,但保留人工确认步骤;
- 每台设备记录序列号,避免同型号设备混号;
- 日志按日期和设备编号归档,出了问题能回看。
ADB 报错的具体处理可以看adb devices 找不到设备和adb offline/unauthorized;产品内置的 ADB 命令入口见诺程投屏产品介绍页。
常见问题
群控软件已经有按钮,为什么还要会 ADB?
按钮覆盖常用操作,但设备不识别、安装失败、画面黑屏时,ADB 能直接看到底层状态。会几条查询命令,排障会快很多。
adb install -r 会保留应用数据吗?
覆盖安装通常保留数据,但签名不一致或版本降级时可能失败。重要数据先备份,降级安装往往需要先卸载。
无线调试用 adb tcpip 还是配对码?
Android 11 以后优先用无线调试配对(adb pair),旧设备可以用 adb tcpip。配对信息在重启或网络变化后可能失效。