在Android开发与设备调试过程中,ADB(Android Debug Bridge)命令行工具扮演着至关重要的角色,它允许开发者与Android设备或模拟器进行通信,执行安装应用、调试日志、文件传输等多种操作,本文将详细介绍如何在Android环境下调用ADB命令行,包括环境配置、常用命令及实际应用场景。

ADB环境配置
在调用ADB命令前,需确保正确配置开发环境,从Android官网下载SDK Platform Tools,并将其解压到固定目录(如D:\adb),随后,将此目录添加到系统环境变量Path中,以便在命令行中直接识别adb.exe,配置完成后,打开命令提示符(CMD)或PowerShell,输入adb version验证安装,若显示版本号,则表示配置成功;若提示“不是内部或外部命令”,需检查环境变量是否正确添加,对于macOS或Linux用户,需将工具包解压到~/Library/Android/sdk/platform-tools,并在~/.bashrc或~/.zshrc中添加export PATH=$PATH:~/Library/Android/sdk/platform-tools,最后执行source ~/.bashrc使配置生效。
ADB基础命令与使用场景
ADB命令的核心功能是通过客户端-服务器模型实现,其中客户端运行在开发机上,服务器作为后台进程管理连接,而守护进程(adbd)运行在Android设备上,以下是常用命令的分类说明:
设备连接与管理
-
列出设备:
adb devices
该命令显示所有已连接的设备及其状态(device表示已授权,unauthorized需在设备上允许调试权限)。
示例输出:List of devices attached emulator-5554 device 192.168.1.100:5555 unauthorized -
启动/停止服务:
adb start-server、adb kill-server
当设备无法识别时,可先停止服务再重新启动,强制刷新设备列表。
(图片来源网络,侵删) -
以root权限运行:
adb root
部分设备需root权限才能执行高级操作(如修改系统文件),但需注意root可能带来安全风险。
应用安装与调试
-
安装APK:
adb install <apk路径>
支持参数:-r覆盖安装、-ddowngrade版本降级安装。
示例:adb install -r app-debug.apk -
卸载应用:
adb uninstall <包名>
若保留数据,添加-k参数:adb uninstall -k com.example.app -
查看应用日志:
adb logcat
可通过adb logcat -s <标签名>过滤特定日志(如adb logcat -s ActivityManager),结合grep命令可高效定位问题:adb logcat | grep "Error"
文件传输与管理
-
推送文件到设备:
adb push <本地路径> <设备路径>
示例:adb push local.txt /sdcard/Download/ -
从设备拉取文件:
adb pull <设备路径> <本地路径>
示例:adb pull /sdcard/Pictures/ ./backup/ -
浏览设备文件系统:
adb shell
进入shell后,可使用ls、cd、rm等Linux命令管理文件,退出输入exit。
系统操作与调试
-
启动活动:
adb shell am start -n <包名>/<活动类名>
示例:adb shell am start -n com.android.settings/.Settings -
屏幕截图:
adb shell screencap -p /sdcard/screenshot.png
截图后可通过adb pull导出到本地。 -
录制屏幕:
adb shell screenrecord /sdcard/record.mp4
按Ctrl+C停止录制,支持参数--time-limit 60限制时长。 -
模拟按键输入:
adb shell input keyevent <按键码>
示例:adb shell input keyevent 26(电源键)、adb shell input text "Hello"(输入文本)
ADB进阶技巧
无线连接ADB
通过USB线连接设备后,执行adb tcpip 5555重启ADB服务,随后拔掉USB线,使用adb connect <设备IP>:5555无线连接,需确保设备与开发机在同一局域网。
多设备管理
当连接多台设备时,可通过-s参数指定目标设备:adb -s emulator-5554 install app.apk,使用adb devices -l可查看设备序列号。
ADB Shell命令集
ADB Shell支持丰富的Linux命令,以下为常用操作示例:
| 功能 | 命令 |
|---|---|
| 查看CPU信息 | adb shell cat /proc/cpuinfo |
| 查看内存占用 | adb shell dumpsys meminfo <包名> |
| 强制停止应用 | adb shell am force-stop <包名> |
| 清除应用数据 | adb shell pm clear <包名> |
常见问题与解决方案
-
提示“adb: command not found”
检查环境变量是否正确配置,或直接使用完整路径执行(如D:\adb\adb.exe)。 -
设备显示为“unauthorized”
在设备设置中开启“USB调试”并允许电脑调试权限,部分品牌需启用“开发者选项”中的“USB安装”选项。
相关问答FAQs
Q1: 如何通过ADB批量安装多个APK文件?
A1: 可使用for循环结合adb install命令实现,在Windows中,命令为:
for %i in (*.apk) do adb install "%i"
在Linux/macOS中,需将%i替换为$i:
for i in *.apk; do adb install "$i"; done
Q2: ADB连接超时如何解决?
A2: 首先执行adb kill-server停止服务,然后尝试以下步骤:
- 更换USB端口或数据线;
- 在设备上关闭“USB调试”后重新开启;
- 重启设备或电脑;
- 若为模拟器,检查模拟器配置中的“启用ADB调试”选项是否开启。
