手机adb命令行是Android调试桥(Android Debug Bridge)的命令行工具,它允许用户与Android设备进行通信,执行各种调试和管理操作,通过adb,开发者可以安装应用、调试代码、访问设备文件系统、运行shell命令等,是Android开发和测试中不可或缺的工具,adb工具包含三个主要部分:客户端(运行在开发机器上)、守护进程(adbd,运行在Android设备上)以及服务器(管理客户端和守护进程之间的通信),要使用adb命令,首先需要在开发机器上安装Android SDK Platform Tools,并确保设备开启了USB调试模式。

在Windows系统中,adb命令通常通过命令提示符(CMD)或PowerShell执行;在macOS或Linux系统中,则通过终端(Terminal)运行,连接设备后,可以通过adb devices命令检查设备是否被正确识别,该命令会列出所有已连接的设备及其状态,设备状态为device表示已授权且可正常使用,如果设备未授权,需要在手机上弹出对话框中点击“允许”以建立连接,对于无线调试,可以通过adb tcpip 5555将设备切换到TCP模式,然后使用adb connect <设备IP地址>:5555进行无线连接,无需数据线即可操作。
adb的核心功能之一是应用管理,包括安装、卸载和备份,安装应用使用adb install <路径>命令,例如adb install app.apk;若要覆盖安装已存在的应用,可添加-r参数,即adb install -r app.apk,卸载应用时,需使用包名,命令为adb uninstall <包名>,例如adb uninstall com.example.app,备份应用数据可通过adb backup -f backup.ab -noapk <包名>实现,其中-f指定备份文件名,-noapk表示不备份APK文件本身,恢复备份则使用adb restore backup.ab命令。
文件传输是另一项常用功能,通过adb pull <设备路径> <本地路径>可将设备文件复制到电脑,例如adb pull /sdcard/DCIM/Camera/ ./photos/;而adb push <本地路径> <设备路径>则将电脑文件推送到设备,如adb push ./file.txt /sdcard/,对于大文件传输,建议使用adb sync命令,该命令会根据指定目录下的规则文件同步文件系统,效率较高。
adb还支持强大的Shell命令交互,通过adb shell进入设备的Linux环境后,可执行常规Linux命令,如ls列出目录、pm list packages查看已安装应用列表、dumpsys battery获取电池信息等,要强制停止某个应用,可执行adb shell am force-stop <包名>;要清除应用缓存,则使用adb shell pm clear <包名>。adb shell top可查看当前运行的进程,adb shell dumpsys activity则能输出详细的Activity管理器信息,便于调试应用崩溃或卡顿问题。

在调试方面,adb提供了日志查看功能,adb logcat命令用于实时打印系统日志,可通过adb logcat -s <标签名>过滤特定标签的日志,如adb logcat -s ActivityManager仅显示Activity管理器相关日志,结合grep工具可进一步筛选,例如adb logcat | grep "Error"过滤包含“Error”的日志,对于性能分析,adb shell dumpsys cpuinfo可查看各CPU占用率,adb shell dumpsys meminfo <包名>则能获取应用的内存使用情况。
adb还支持截图和录屏功能,截图使用adb shell screencap -p /sdcard/screenshot.png,截图文件会保存到设备指定路径,然后可通过adb pull命令导出到电脑,录屏功能通过adb shell screenrecord /sdcard/video.mp4启动,默认录制时长为180秒,可通过--time-limit <秒数>调整,如adb shell screenrecord --time-limit 60 /sdcard/video.mp4,录制完成后同样可通过adb pull获取视频文件。
对于高级用户,adb还可用于系统级操作,如重启设备(adb reboot)、进入恢复模式(adb reboot recovery)、解锁Bootloader(需配合fastboot工具)等,在安全测试中,adb shell pm grant <包名> <权限>可动态授予应用权限,adb shell pm revoke <包名> <权限>则用于撤销权限。adb shell settings put global <设置项> <值>可修改系统设置,例如adb shell settings put global airplane_mode_on 1开启飞行模式。
以下表格总结了常用adb命令及其功能:

| 命令分类 | 命令示例 | 功能说明 |
|---|---|---|
| 设备连接 | adb devices | 列出已连接设备 |
| adb tcpip 5555 | 切换设备为TCP模式 | |
| adb connect |
无线连接设备 | |
| 应用管理 | adb install app.apk | 安装应用 |
| adb uninstall com.example.app | 卸载应用 | |
| adb backup -f backup.ab -noapk | 备份应用数据 | |
| 文件传输 | adb pull /sdcard/file ./ | 拉取设备文件到本地 |
| adb push ./file /sdcard/ | 推送本地文件到设备 | |
| Shell命令 | adb shell | 进入设备Shell环境 |
| adb shell pm list packages | 列出已安装应用包名 | |
| 日志查看 | adb logcat | 实时查看系统日志 |
| adb logcat -s ActivityManager | 过滤特定标签日志 | |
| 截图录屏 | adb shell screencap -p /sdcard/s.png | 截图并保存到设备 |
| adb shell screenrecord /sdcard/v.mp4 | 录屏并保存到设备 | |
| 系统操作 | adb reboot | 重启设备 |
| adb shell settings put global airplane_mode_on 1 | 修改系统设置 |
相关问答FAQs:
-
问题:adb devices命令显示“unauthorized”怎么办?
解答:这表示设备未授权电脑调试,请确保设备已开启USB调试模式,并通过数据线连接电脑,然后在手机弹出的“允许USB调试”对话框中点击“允许”,如果未弹出对话框,可尝试重新插拔数据线或重启设备,对于部分品牌手机(如小米、华为),可能需在开发者选项中额外开启“USB调试(安全设置)”并信任当前电脑。 -
问题:如何通过adb批量卸载多个应用?
解答:可通过编写脚本实现批量卸载,在Linux或macOS终端中,可使用以下命令:for pkg in com.package1 com.package2 com.package3; do adb uninstall "$pkg" done在Windows CMD中,可使用:
for %p in (com.package1 com.package2 com.package3) do adb uninstall "%p"
其中
com.package1等需替换为实际包名,若需导出已安装应用列表,可先执行adb shell pm list packages > packages.txt,再从文件中提取包名进行处理。
