ADB 常用命令与实战调试速查指南
ADB(Android Debug Bridge,安卓调试桥) 是 Android 官方提供的通用命令行调试工具。它充当了电脑与 Android 设备之间的全功能控制通道,是 Android 开发者与极客必备的“瑞士军刀”。
一、 ADB 原理与环境配置
1. C/S 架构与核心概念
ADB 采用经典的 C/S(客户端 - 服务端 - 守护进程)三层架构:
- Client(客户端):接收用户在终端输入的
adb指令或 Android Studio 的调用请求; - Server(服务端):运行在电脑后台,负责管理与所有已连接设备的通信多路复用;
- Daemon(守护进程 adbd):常驻手机后台,负责在设备端执行调试指令并返回结果。
2. Windows 全局环境变量配置
将 platform-tools 加入系统 Path 后,即可在任意终端路径下直接输入 adb。
方式 A:PowerShell 一键配置(推荐) 在 PowerShell 中粘贴运行以下脚本,即可永久写入当前用户的环境变量:
powershell$adbDir = "$env:LOCALAPPDATA\Android\Sdk\platform-tools" $oldPath = [Environment]::GetEnvironmentVariable("Path", "User") if ($oldPath -notlike "*$adbDir*") { [Environment]::SetEnvironmentVariable("Path", "$oldPath;$adbDir", "User") Write-Host "✅ ADB 环境变量配置成功!重启终端生效。" -ForegroundColor Green }方式 B:图形界面手动配置
- 按
Win + R输入sysdm.cpl打开「系统属性」 ➔ 「高级」 ➔ 「环境变量」; - 在「用户变量」的
Path中点击「新建」,填入%LOCALAPPDATA%\Android\Sdk\platform-tools并保存。
- 按
验证生效:新开一个终端窗口,运行
adb version,看到版本号输出即代表全局生效。
二、 设备连接与无线调试
1. 设备识别与服务重启
powershell
# 列出所有已连接的设备及其状态 (device 正常 / unauthorized 未授权 / offline 离线)
adb devices -l
# 连接异常或端口卡死时,重启后台服务
adb kill-server
adb start-server2. WiFi 局域网免线调试
当手机与电脑连接同一 WiFi 时,可摆脱数据线束缚进行无线调试:
powershell
# 1. 手机先插上数据线,开启 5555 端口监听
adb tcpip 5555
# 2. 拔掉数据线,通过手机局域网 IP 直连 (可在手机 WiFi 详情中查看 IP)
adb connect 192.168.1.100:5555
# 3. 调试结束后断开连接
adb disconnect 192.168.1.100:5555三、 应用管理与文件操作实战
1. APK 安装、卸载与数据清理
powershell
# 覆盖安装 (保留原有数据与缓存,最常用)
adb install -r app-debug.apk
# 卸载指定应用 (需提供应用包名)
adb uninstall space.huanyu.one
# 一键清空应用全部数据与缓存 (相当于重置 App)
adb shell pm clear space.huanyu.one
# 查看手机上已安装的应用包名 (支持通配符过滤)
adb shell pm list packages -3 | grep huanyu2. 文件互传、秒级截屏与录屏
powershell
# 从电脑上传文件到手机 (Push)
adb push ./test.mp4 /sdcard/Download/
# 从手机拉取文件到电脑本地 (Pull)
adb pull /sdcard/Download/data.json ./
# 秒级截屏并直接保存为电脑当前目录的图片
adb exec-out screencap -p > screenshot.png
# 录制手机屏幕操作视频 (按 Ctrl + C 结束录制)
adb shell screenrecord --size 1080x2400 --time-limit 60 /sdcard/demo.mp4四、 自动化控制与系统监控
1. 模拟点击、滑动与按键
常用于自动化流程或脚本批量控制:
powershell
# 模拟点击屏幕坐标 (X: 500, Y: 1000)
adb shell input tap 500 1000
# 模拟手指滑动 (从坐标 500,1500 滑到 500,500,耗时 300 毫秒)
adb shell input swipe 500 1500 500 500 300
# 模拟输入英文字符
adb shell input text "HelloCompose"
# 模拟物理按键 (3 = Home键, 4 = 返回键, 26 = 电源键, 24/25 = 音量加/减)
adb shell input keyevent 3
adb shell input keyevent 4
adb shell input keyevent 262. 实时日志 (Logcat) 与性能排查
powershell
# 抓取应用实时日志并按 TAG 过滤输出到电脑文件
adb logcat -s "OneAppTag" > app.log
# 清空历史日志缓存
adb logcat -c
# 查看电池电量、健康状态与温度
adb shell dumpsys battery
# 查看指定应用的内存占用详情 (排查内存泄漏)
adb shell dumpsys meminfo space.huanyu.one
# 监控手机 CPU 实时占用排行 (前 10 个进程)
adb shell top -m 10五、 常用高频命令速查表
| 指令类别 | 常用命令 | 简要说明 |
|---|---|---|
| 环境检测 | adb version | 查看 ADB 版本与全局安装状态 |
| 设备连接 | adb devices | 查看已连接设备列表 |
| 无线调试 | adb tcpip 5555 ➔ adb connect <IP>:5555 | 开启局域网 WiFi 无线调试 |
| 应用安装 | adb install -r <apk路径> | 覆盖安装应用 |
| 应用卸载 | adb uninstall <包名> | 卸载指定应用 |
| 数据清理 | adb shell pm clear <包名> | 一键清空应用缓存与数据 |
| 文件上传 | adb push <电脑路径> <手机路径> | 上传文件到手机 |
| 文件下载 | adb pull <手机路径> <电脑路径> | 拉取手机文件到电脑 |
| 屏幕截图 | adb exec-out screencap -p > snap.png | 手机截屏秒存电脑 |
| 屏幕录制 | adb shell screenrecord /sdcard/rec.mp4 | 录制手机操作视频 |
| 模拟点击 | adb shell input tap <X> <Y> | 模拟点击屏幕坐标 |
| 物理按键 | adb shell input keyevent 3 / 4 / 26 | 模拟 Home / 返回 / 电源键 |
| 内存排查 | adb shell dumpsys meminfo <包名> | 监控应用的内存占用 |