adb命令工具包是Android开发者和高级用户必备的强大工具,它提供了与Android设备进行交互的命令行接口,涵盖了调试、文件管理、系统操作等多个维度,通过adb,用户可以高效地完成设备调试、应用安装、日志分析等任务,尤其在进行深度系统操作或自动化测试时,其优势尤为突出。

核心功能与常用命令
adb工具包的核心功能包括设备连接、文件传输、应用管理、系统调试等,以下是常用命令的分类说明:
设备连接与状态检查
- adb devices:列出所有已连接的设备及其状态(device表示已授权,unauthorized表示未授权)。
- adb -s <设备ID> shell:指定设备ID进入命令行交互模式,多设备环境下必备。
- adb get-state:获取当前设备状态(如device、offline、unauthorized)。
文件管理
- adb pull <设备路径> <本地路径>:将设备中的文件或目录复制到本地。
- adb push <本地路径> <设备路径>:将本地文件或目录推送至设备。
- adb shell ls <设备路径>:在设备命令行中列出指定目录下的文件。
应用管理
- adb install <APK路径>:安装应用到设备(支持
-r覆盖安装、-d降级安装)。 - adb uninstall <包名>:卸载应用(需加
-k保留缓存数据)。 - adb shell pm list packages:列出已安装应用的包名,可通过
-f显示完整路径。
系统调试与日志
- adb logcat:实时查看设备日志,可通过
adb logcat -s <标签名>过滤特定日志。 - adb shell dumpsys activity top:查看当前前台应用的Activity信息。
- adb shell input keyevent <键值>:模拟按键操作(如
82表示菜单键,26表示电源键)。
高级操作
- adb shell pm grant <包名> <权限名>:动态授予应用权限(如
android.permission.READ_EXTERNAL_STORAGE)。 - adb shell settings put global <设置项> <值>:修改系统设置(如
adb shell settings put global wifi_on 1开启WiFi)。 - adb reboot bootloader:重启设备至Bootloader模式(用于刷机或解锁)。
实用场景示例
- 自动化测试:结合
adb shell input命令模拟用户操作,编写脚本实现UI自动化测试。 - 数据备份:通过
adb backup命令备份应用数据(需设备root或应用支持)。 - 日志分析:使用
adb logcat | grep "关键字"快速定位问题日志。
注意事项
- 设备授权:首次连接时需在设备上点击“允许调试”。
- 环境配置:需将adb路径添加系统环境变量,确保全局可用。
- 兼容性:部分命令需root权限或特定系统版本支持。
相关问答FAQs
Q1: adb提示“adb: command not found”如何解决?
A1: 此问题通常因未正确配置adb环境变量导致,需将adb所在目录(如SDK的platform-tools路径)添加到系统的PATH变量中,具体步骤:
- Windows:在“系统属性”-“高级”-“环境变量”中新建系统变量
ANDROID_HOME指向SDK根目录,并将%ANDROID_HOME%\platform-tools加入Path变量。 - Linux/Mac:编辑
~/.bashrc或~/.zshrc,添加export PATH=$PATH:$ANDROID_HOME/platform-tools,然后执行source ~/.bashrc使配置生效。
Q2: 如何通过adb获取设备的已安装应用列表及版本号?
A2: 使用以下命令组合可获取包名和版本号:
adb shell pm list packages -3 | cut -d: -f2 | while read pkg; do
adb shell dumpsys package $pkg | grep "versionName=" | cut -d= -f2
done
该命令会遍历所有第三方应用(-3参数),输出包名对应的版本号,若需包含系统应用,可去掉-3参数。


