adb(Android Debug Bridge)命令集是Android开发者和高级用户用于与Android设备进行交互的强大工具集,通过adb命令可以实现设备调试、文件传输、应用安装、系统信息查询等多种功能,adb工具包含三个主要部分:客户端(运行在开发机上)、守护进程(运行在Android设备上)以及服务器(在客户端和守护进程间通信),掌握adb命令集能极大提升操作Android设备的效率,以下从基础命令到高级用法进行详细说明。

adb的连接与设备管理是基础操作,使用adb devices
命令可以查看当前连接的设备列表,设备状态包括device
(已授权)、unauthorized
(未授权,需在设备上确认调试权限)和offline
(设备离线),若连接多台设备,可通过adb -s <设备序列号> <命令>
指定目标设备,例如adb -s emulator-5554 install app.apk
,启动adb服务的命令为adb start-server
,停止服务则为adb kill-server
,通常在设备连接异常时使用。
文件传输与操作是adb的常用功能,通过adb push <本地路径> <设备路径>
可将文件从电脑推送到设备,例如adb push test.txt /sdcard/
;使用adb pull <设备路径> <本地路径>
则可将设备文件拉取到电脑,如adb pull /sdcard/download/ .
,若需直接在设备上管理文件,可通过adb shell
进入命令行环境,此时使用ls
(列出文件)、cd
(切换目录)、mkdir
(创建目录)、rm
(删除文件)等Linux命令,例如adb shell "rm /sdcard/temp/*"
可删除设备指定目录下所有文件,对于大文件传输,建议确保设备存储空间充足,并避免在传输过程中断开连接。
应用管理方面,adb支持应用的安装、卸载与数据操作,安装应用使用adb install <apk路径>
,若需覆盖安装旧版本可加-r
参数(adb install -r app.apk
),安装到系统分区则需-s
参数(需root权限),卸载应用时,adb uninstall <包名>
会卸载应用但保留数据,加-k
参数可同时清除数据(adb uninstall -k <包名>
),获取已安装应用列表可通过adb shell pm list packages
,过滤特定应用则用adb shell pm list packages | grep <关键词>
,启动应用需指定包名和Activity,例如adb shell am start -n com.example.app/.MainActivity
,强制停止应用则用adb shell am force-stop <包名>
。
系统调试与监控功能对开发者尤为重要,查看设备日志是核心操作,adb logcat
可实时输出系统日志,通过adb logcat -s <标签名>
过滤特定标签日志(如adb logcat -s ActivityManager
),保存日志到本地用adb logcat -d > log.txt
,监控设备性能时,adb shell top
可查看实时进程列表,adb shell dumpsys cpuinfo
显示CPU占用情况,adb shell dumpsys meminfo <包名>
则查看应用内存使用,截图功能通过adb shell screencap -p /sdcard/screenshot.png
实现,录屏命令为adb shell screenrecord /sdcard/video.mp4
,按Ctrl+C
停止录屏,若需获取设备信息,adb shell getprop
查看系统属性,adb shell dumpsys window
显示窗口层级,adb shell settings get global airplane_mode_on
则查询飞行模式状态。

网络与端口转发功能适用于调试网络应用,查看设备网络连接情况用adb shell netstat
,端口转发通过adb forward <本地端口> <设备端口>
实现,例如adb forward tcp 8080 tcp 8080
将本地8080端口映射到设备8080端口,方便本地服务与设备通信,若需抓取设备网络数据包,可结合adb shell tcpdump
工具(需提前安装),例如adb shell tcpdump -p -i any -s 0 -w /sdcard/capture.pcap
,抓取的数据包可通过adb pull
导出到电脑分析。
高级权限与系统修改需谨慎操作,获取root权限后,可通过adb shell su
切换到超级用户,执行系统级命令,例如adb shell "echo 'persist.sys.timezone=Asia/Shanghai' >> /system/build.prop"
修改系统属性,备份数据使用adb backup -f backup.ab -all
(备份所有应用数据),恢复数据则用adb restore backup.ab
,对于已root设备,adb shell pm install-existing <包名>
可重新安装已卸载的系统应用,adb shell reboot
实现重启,adb shell reboot recovery
则进入恢复模式。
adb命令集的灵活运用能大幅简化Android设备操作流程,以下通过表格总结常用命令:
功能分类 | 命令示例 | 说明 |
---|---|---|
设备连接 | adb devices | 查看已连接设备 |
adb -s <序列号> shell | 指定设备进入shell | |
文件操作 | adb push <本地> <设备> | 推送文件到设备 |
adb pull <设备> <本地> | 从设备拉取文件到电脑 | |
应用管理 | adb install <apk路径> | 安装应用 |
adb uninstall <包名> | 卸载应用(保留数据) | |
日志查看 | adb logcat -s <标签> | 过滤并查看指定标签日志 |
性能监控 | adb shell dumpsys meminfo <包名> | 查看应用内存占用 |
截图/录屏 | adb shell screencap -p <路径> | 截图并保存到设备 |
网络调试 | adb forward <本地端口> <设备端口> | 设置端口转发 |
系统修改 | adb shell su -c "命令" | 以root权限执行系统命令 |
相关问答FAQs:

Q1: 提示“adb: command not found”如何解决?
A: 此错误表示adb未添加到系统环境变量,解决方案:1. 下载adb工具包并解压到固定目录(如/usr/local/adb
);2. 编辑环境变量配置文件(Linux/macOS下为~/.bashrc
或~/.zshrc
,Windows下为“系统属性-高级-环境变量”),添加export PATH=$PATH:/usr/local/adb
(Linux/macOS)或PATH=%PATH%;C:\path\to\adb
(Windows);3. 保存后重启终端或命令行工具,输入adb version
验证是否安装成功。
Q2: 如何通过adb备份应用数据并恢复到另一台设备?
A: 备份操作:在电脑上执行adb backup -f backup.ab -all -apk -shared -nosystem
(-all
备份所有应用,-apk
包含安装包,-shared
备份共享存储,-nosystem
排除系统应用),恢复操作:将backup.ab
文件复制到目标设备连接的电脑,执行adb restore backup.ab
,此时设备屏幕会弹出恢复确认界面,需手动点击“备份恢复”完成操作,注意:恢复需目标设备与备份设备系统版本兼容,且部分应用(如加密应用)可能无法完整恢复数据。