【ADB 关键命令与配置速查笔记】(自用复盘版)

ADB 关键命令与配置速查笔记(自用复盘版)

适用场景:Android 开发调试、自动化测试、设备管理、日志分析

最后更新:2026-04-07

一、ADB 简介与环境配置

1.1 什么是 ADB

ADB(Android Debug Bridge)是 Android SDK 自带的调试工具,采用 C/S 架构,由三部分组成:

  • Client(电脑端命令行)
  • Server(电脑后台服务进程)
  • Daemon(设备端守护进程)

1.2 下载与安装

方式 说明
Android Studio 自带 路径:SDK/platform-tools/
单独下载 Platform Tools 官网下载
包管理器(macOS) brew install android-platform-tools
包管理器(Ubuntu) sudo apt install adb

1.3 环境变量配置(快捷使用)

  • Windows :将 platform-tools 路径添加到系统 PATH。

  • macOS / Linux :编辑 ~/.bashrc~/.zshrc,添加:

    bash 复制代码
    export PATH=$PATH:~/Android/Sdk/platform-tools
  • 验证安装:adb --version


二、设备连接与基础命令

2.1 连接设备

连接方式 命令 备注
USB 连接 自动识别 需开启「开发者选项」+「USB 调试」
TCP/IP 连接(无线) adb connect 192.168.x.x:5555 先 USB 连接后执行 adb tcpip 5555
断开无线连接 adb disconnect 192.168.x.x:5555
2.1 .1方式一:直连模式(网络地址直连,最常用)

这种方式模拟器会使用一个虚拟的网络端口,电脑通过连接这个端口来操作模拟器。

操作 说明
查找ADB端口 设置中心 → 其他设置 → ADB调试端口(不同版本可能略有差异,但大多数新版在"其他设置"里)
执行连接命令 adb connect 127.0.0.1:端口号(如 adb connect 127.0.0.1:16384)。

2.2 查看与指定设备

命令 作用
adb devices 列出已连接设备及状态(device/offline/unauthorized
adb -s <serial> shell 指定某设备执行命令(多设备时必用)
adb -d 仅对 USB 设备操作
adb -e 仅对模拟器操作

2.3 重启与服务器管理

命令 作用
adb kill-server 停止 adb 服务(解决端口冲突或卡死)
adb start-server 启动 adb 服务
adb reboot 重启设备
adb reboot bootloader 重启到 fastboot 模式
adb reboot recovery 重启到 recovery 模式

三、应用管理(最常用)

操作 命令示例
安装 APK adb install -r app.apk-r 覆盖安装)
安装到 SD 卡 adb install -s app.apk
卸载应用 adb uninstall com.example.package
保留数据卸载 adb uninstall -k com.example.package
查看所有应用包名 adb shell pm list packages
查看第三方应用 adb shell pm list packages -3
清除应用数据 adb shell pm clear com.example.package
强制停止应用 adb shell am force-stop com.example.package
启动 Activity adb shell am start -n com.example.pkg/.MainActivity
发送广播 adb shell am broadcast -a android.intent.action.BOOT_COMPLETED

四、文件传输

操作 命令
推送文件到设备 adb push 本地文件路径 /sdcard/目标路径
从设备拉取文件 adb pull /sdcard/文件路径 本地保存路径
列出目录内容 adb shell ls -l /sdcard/
删除文件/目录 adb shell rm -rf /sdcard/test.txt

五、日志查看(Logcat)

命令 说明
adb logcat 实时输出所有日志
adb logcat -c 清空日志缓冲区
adb logcat -v time 显示时间戳
adb logcat -v threadtime 显示时间、线程、优先级
adb logcat -s TAG 按 TAG 过滤(如 adb logcat -s ActivityManager
adb logcat *:V 最低优先级 V (Verbose)
adb logcat *:D 最低优先级 D (Debug)
adb logcat *:E 只显示错误日志
保存日志到文件 adb logcat -v time > crash.log

常用过滤组合

bash 复制代码
# 显示 Error 及以上级别,并过滤包含 "AndroidRuntime" 的行
adb logcat *:E | grep AndroidRuntime

# 清空后实时抓取崩溃日志
adb logcat -c && adb logcat -v time | grep -E "FATAL|AndroidRuntime"

六、屏幕截图与录制

操作 命令
截图(保存到设备) adb shell screencap /sdcard/screenshot.png
截图并直接拉取 adb exec-out screencap -p > screenshot.png
屏幕录制(3分钟) adb shell screenrecord /sdcard/demo.mp4
指定分辨率/码率 adb shell screenrecord --size 720x1280 --bit-rate 4000000 /sdcard/demo.mp4

七、模拟输入与按键

操作 命令
模拟点击坐标 adb shell input tap 500 1000
模拟滑动 adb shell input swipe 100 500 900 500(起点→终点)
模拟长按 adb shell input swipe 100 500 100 500 2000(停留2000ms)
输入文本 adb shell input text "Hello"(不支持中文,可用 adb shell am broadcast 配合输入法)
返回键 adb shell input keyevent KEYCODE_BACKadb shell input keyevent 4
Home 键 adb shell input keyevent 3
菜单键 adb shell input keyevent 82
电源键 adb shell input keyevent 26
音量+ adb shell input keyevent 24
音量- adb shell input keyevent 25

八、Shell 与系统信息

8.1 进入交互式 Shell

bash 复制代码
adb shell          # 进入设备 shell
exit               # 退出

8.2 常用系统查询

命令 作用
adb shell getprop ro.product.model 设备型号
adb shell getprop ro.build.version.release Android 版本
adb shell dumpsys battery 电池信息(电量、温度、状态)
adb shell dumpsys meminfo <pkg> 应用内存占用
adb shell dumpsys cpuinfo CPU 使用情况
adb shell dumpsys window displays 屏幕分辨率、密度
adb shell wm size 查看当前分辨率
adb shell wm density 查看屏幕密度
adb shell wm overscan 显示区域边距

8.3 修改系统设置(需要 root 或系统应用权限)

bash 复制代码
adb shell settings put global <key> <value>
# 示例:关闭自动旋转
adb shell settings put system accelerometer_rotation 0

九、常用组合命令与脚本模板

9.1 快速截图到电脑桌面(Windows)

bash 复制代码
adb exec-out screencap -p > %USERPROFILE%\Desktop\screenshot_%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%%time:~6,2%.png

9.2 无线连接一键脚本

bash 复制代码
# 1. USB 连接后执行
adb tcpip 5555
# 2. 查看设备 IP(设置 → 关于手机 → 状态信息)
# 3. 连接
adb connect 192.168.1.100:5555
# 4. 断开 USB 后仍可操作

9.3 批量安装 APK

bash 复制代码
for %f in (*.apk) do adb install "%f"

十、常见问题与解决

问题 可能原因 解决方案
device offline 设备弹出授权未确认 重新插拔 USB,确认 RSA 指纹
unauthorized 未授权调试 设备上勾选「始终允许」并重新连接
no devices/emulators found 驱动未装 / USB 调试未开 安装驱动,检查开发者选项,重启 adb server
adb server version mismatch 多个 adb 版本冲突 kill-server,确保 PATH 中只有一个 adb
无线连接失败 端口被屏蔽 / 同一 WiFi 关闭防火墙,使用 ping 测试连通性
insufficient permissions (Linux) 无设备访问权限 配置 udev 规则或使用 sudo adb
adb install FAILED_INSTALL_INVALID APK 损坏或签名冲突 卸载旧版本重试

十一、实用技巧

11.1 快速查看当前 Activity

bash 复制代码
adb shell dumpsys window | grep mCurrentFocus

11.2 模拟弱网环境(需要 root)

bash 复制代码
adb shell netstat  # 查看网络状态
# 或使用 tc 命令(需要设备内核支持)

11.3 获取应用启动时间

bash 复制代码
adb shell am start -W com.example.pkg/.MainActivity
# 输出:ThisTime, TotalTime, WaitTime

11.4 绕过安装包扫描(覆盖安装降级)

bash 复制代码
adb install -r -d old.apk   # `-d` 允许降级安装

十二、推荐别名配置(.bashrc / .zshrc)

bash 复制代码
alias adb-devices='adb devices -l'
alias adb-logcat-clear='adb logcat -c'
alias adb-screenshot='adb exec-out screencap -p > screenshot.png'
alias adb-reconnect='adb kill-server && adb start-server && adb devices'
相关推荐
网络工程小王11 小时前
【Transformer架构详解】(学习笔记)
笔记·学习
北风toto11 小时前
前端CSS样式详细笔记
前端·css·笔记
Heartache boy13 小时前
野火STM32_HAL库版课程笔记-手动建立工程模板与CubeMX后续用法(重要)
笔记·stm32·单片机·嵌入式硬件
Ztopcloud极拓云视角17 小时前
Gemini 3.1 Pro vs GPT-5.4 Pro:API成本1/3、性能差多少?选型实测笔记
人工智能·笔记·gpt·ai·语言模型
姚永强18 小时前
dns实验
adb
鱼鳞_20 小时前
Java学习笔记_Day22
java·笔记·学习
自小吃多21 小时前
TMC220X芯片 串口工具连接交互
笔记·嵌入式硬件
ZhiqianXia21 小时前
PyTorch学习笔记(6) : torch.autograd
pytorch·笔记·学习
网络工程小王21 小时前
【提示词工程和思维链的讲解】学习笔记
人工智能·笔记·学习