ADB 简介
ADB,全称 Android Debug Bridge,是 Google 提供的一款用于 Android 平台设备(包括真机和模拟器)调试、交互和管理的命令行工具。通过 ADB,开发者可以在电脑上对连接的 Android 设备执行一系列高级操作,如安装/卸载应用、推送/拉取文件、运行 shell 命令、截图、录制视频、查看日志等。ADB 采用客户端-服务器架构,包括以下三个主要组件:
- 客户端:在开发计算机上运行,接收用户输入的 ADB 命令并将其发送给服务器。
- 服务器:在开发计算机上作为后台进程运行,负责管理和转发客户端与设备间的所有通信。
- 后台程序(Daemon):在每台连接的 Android 设备或模拟器上作为后台进程运行,接收并执行服务器转发的命令。
下面详细介绍一些常用的 ADB 命令及其用法:
基础操作
启动/停止 ADB 服务
-
启动 ADB 服务:
adb start-server
-
停止 ADB 服务:
adb kill-server
连接设备
-
列出所有已连接设备:
adb devices
-
指定设备 (对于多设备环境,通过
-s
参数指定设备的序列号或IP:port):adb -s <device_serial> <command>
应用管理
安装应用
-
安装 APK 文件(替换现有安装或新安装):
adb install path/to/your/app.apk
-
静默安装(无用户确认界面)(需要设备具有root权限):
adb install -r -s path/to/your/app.apk
卸载应用
-
通过包名卸载应用 :
adb uninstall <package_name>
应用数据管理
-
清除应用数据(重置应用) :
adb shell pm clear <package_name>
应用控制
-
强制停止应用:
adb shell am force-stop <package_name>
-
启动应用:
adb shell am start -n <package_name>/<activity_name>
文件传输
推送文件到设备
-
将本地文件复制到设备 :
adb push local_path device_path
从设备拉取文件
-
将设备上的文件复制到本地 :
adb pull device_path local_path
屏幕截图与视频录制
截图
-
保存当前屏幕为 PNG 图片:
adb shell screencap -p /sdcard/screen.png
然后使用
adb pull
将截图文件拉取到本地:adb pull /sdcard/screen.png local_path
录制屏幕视频
-
使用第三方工具(如
screenrecord
)录制设备屏幕:adb shell screenrecord /sdcard/video.mp4
录制完成后,使用
adb pull
下载视频:adb pull /sdcard/video.mp4 local_path
设备 Shell 命令执行
-
进入设备的 Shell 环境:
adb shell
-
在 Shell 中执行单条命令(无需进入 Shell):
adb shell <command>
-
切换目录(在 Shell 环境中):
cd <directory>
端口转发与网络相关
-
端口转发(将主机端口映射到设备上的指定端口):
adb forward tcp:<host_port> tcp:<device_port>
-
设置设备网络代理:
adb shell settings put global http_proxy <proxy_host>:<proxy_port>
日志与调试
-
查看设备日志(实时输出):
adb logcat [options] [filters]
其中,
options
可以包括-v <format>
(指定输出格式)、-s
(仅显示选中的标签)等,filters
可以是标签(tag)或优先级(priority),如*:S
表示过滤掉所有silent
优先级及以下的日志。 -
截取日志到文件:
adb logcat -v long > log.txt
其他实用命令
-
重启设备:
adb reboot
-
进入/退出 Recovery 模式:
adb reboot recovery adb reboot bootloader
-
安装系统更新包(OTA ZIP):
adb sideload update.zip