ADB 命令帮助文档中文翻译
基本信息
Android Debug Bridge 版本 1.0.39
版本 1:8.1.0+r23-5~18.04
安装路径:/usr/lib/android-sdk/platform-tools/adb
全局选项
| 选项 | 说明 |
|---|---|
-a |
监听所有网络接口,而不仅仅是 localhost |
-d |
使用 USB 设备(当有多个设备连接时,使用 USB 设备) |
-e |
使用 TCP/IP 设备(当有多个 TCP/IP 设备可用时,使用 TCP/IP 设备) |
-s SERIAL |
使用指定序列号的设备(覆盖 $ANDROID_SERIAL 环境变量) |
-t ID |
使用指定传输 ID 的设备 |
-H |
ADB 服务器主机名 [默认=localhost] |
-P |
ADB 服务器端口 [默认=5037] |
-L SOCKET |
监听给定的套接字作为 ADB 服务器 [默认=tcp:localhost:5037] |
通用命令
| 命令 | 说明 |
|---|---|
devices [-l] |
列出已连接的设备(-l 显示详细信息) |
help |
显示此帮助信息 |
version |
显示版本号 |
网络相关
| 命令 | 说明 |
|---|---|
connect HOST[:PORT] |
通过 TCP/IP 连接到设备 [默认端口=5555] |
disconnect [HOST[:PORT]] |
断开与指定 TCP/IP 设备的连接,或断开所有连接 |
forward --list |
列出所有转发套接字连接 |
forward [--no-rebind] LOCAL REMOTE |
转发套接字连接,支持类型: • tcp:<端口> • localabstract:<Unix域套接字名称> • localreserved:<Unix域套接字名称> • localfilesystem:<Unix域套接字名称> • dev:<字符设备名称> • jdwp:<进程PID>(仅远程) |
forward --remove LOCAL |
删除指定的转发套接字连接 |
forward --remove-all |
删除所有转发套接字连接 |
ppp TTY [参数...] |
通过 USB 运行 PPP |
reverse --list |
列出设备上的所有反向套接字连接 |
reverse [--no-rebind] REMOTE LOCAL |
反向套接字连接,支持类型同上 |
reverse --remove REMOTE |
删除指定的反向套接字连接 |
reverse --remove-all |
删除所有反向套接字连接 |
文件传输
| 命令 | 说明 |
|---|---|
push [--sync] 本地文件... 远程路径 |
将本地文件/目录复制到设备 --sync:仅推送主机上比设备更新的文件 |
pull [-a] 远程文件... 本地路径 |
从设备复制文件/目录 -a:保留文件时间戳和权限 |
| `sync [system | vendor |
Shell 相关
| 命令 | 说明 |
|---|---|
shell [-e 转义字符] [-n] [-Tt] [-x] [命令...] |
运行远程 shell 命令(无命令时进入交互式 shell) -e:选择转义字符,或 "none";默认 '~' -n:不从标准输入读取 -T:禁用 PTY 分配 -t:强制 PTY 分配 -x:禁用远程退出码和 stdout/stderr 分离 |
emu 命令 |
运行模拟器控制台命令 |
应用安装
| 命令 | 说明 |
|---|---|
install [-lrtsdg] 包名 |
推送包到设备并安装 |
install-multiple [-lrtsdpg] 包名... |
推送多个包到设备并安装 |
| 安装选项 | |
-l |
锁定应用程序(转发锁定) |
-r |
替换现有应用程序 |
-t |
允许测试包 |
-s |
安装到 SD 卡 |
-d |
允许版本降级(仅限可调试包) |
-p |
部分应用安装(仅 install-multiple) |
-g |
授予所有运行时权限 |
uninstall [-k] 包名 |
从设备移除应用包 -k:保留数据和缓存目录 |
备份/恢复
| 命令 | 说明 |
|---|---|
adb shell bu help |
显示备份/恢复帮助信息 |
调试相关
| 命令 | 说明 |
|---|---|
bugreport [路径] |
生成错误报告到指定路径 [默认=bugreport.zip] 如果路径是目录,错误报告保存在该目录中 不支持压缩错误报告的设备输出到标准输出 |
jdwp |
列出托管 JDWP 传输的进程 PID |
logcat |
显示设备日志(logcat --help 查看更多) |
安全相关
| 命令 | 说明 |
|---|---|
disable-verity |
在 userdebug 版本上禁用 dm-verity 检查 |
enable-verity |
在 userdebug 版本上重新启用 dm-verity 检查 |
keygen 文件 |
生成 adb 公钥/私钥;私钥存储在文件中,公钥存储在 文件.pub 中(现有文件将被覆盖) |
脚本相关
| 命令 | 说明 |
|---|---|
wait-for[-TRANSPORT]-STATE |
等待设备进入指定状态 状态:device, recovery, sideload, bootloader 传输类型:usb, local, any [默认=any] |
get-state |
输出设备状态(offline | bootloader | device) |
get-serialno |
输出序列号 |
get-devpath |
输出设备路径 |
remount |
重新挂载 /system、/vendor 和 /oem 分区为读写模式 |
| `reboot [bootloader | recovery |
sideload OTA包 |
加载指定的完整 OTA 包 |
root |
以 root 权限重启 adbd |
unroot |
以非 root 权限重启 adbd |
usb |
重启 ADB 服务器监听 USB |
tcpip 端口 |
重启 ADB 服务器监听 TCP 指定端口 |
内部调试
| 命令 | 说明 |
|---|---|
start-server |
确保 ADB 服务器正在运行 |
kill-server |
如果 ADB 服务器正在运行则终止它 |
reconnect |
从主机端断开连接,强制重新连接 |
reconnect device |
从设备端断开连接,强制重新连接 |
reconnect offline |
重置离线/未授权设备,强制重新连接 |
环境变量
| 变量 | 说明 |
|---|---|
$ADB_TRACE |
逗号分隔的调试信息列表:all,adb,sockets,packets,rwx,usb,sync,sysdeps,transport,jdwp |
$ADB_VENDOR_KEYS |
冒号分隔的密钥列表(文件或目录) |
$ANDROID_SERIAL |
要连接的设备序列号(见 -s 选项) |
$ANDROID_LOG_TAGS |
logcat 使用的标签(见 logcat --help) |
常用命令示例
查看设备
bash
adb devices # 列出所有连接的设备
adb devices -l # 显示详细信息(含设备型号)
安装应用
bash
adb install app.apk # 安装应用
adb install -r app.apk # 覆盖安装
adb install -s app.apk # 安装到 SD 卡
文件传输
bash
adb push local.txt /sdcard/ # 推送文件到设备
adb pull /sdcard/remote.txt ./ # 从设备拉取文件
进入设备 Shell
bash
adb shell # 进入交互式 shell
exit # 退出交互式 shell
adb shell ls /sdcard # 执行单条命令
日志查看
bash
adb logcat # 查看实时日志
adb logcat -c # 清空日志缓冲区
网络调试
bash
adb tcpip 5555 # 重启 ADB 为 TCP 模式
adb connect 192.168.1.100:5555 # 通过 WiFi 连接设备
应用管理
bash
adb uninstall com.example.app # 卸载应用
adb uninstall -k com.example.app # 卸载但保留数据
调试相关
bash
adb bugreport bugreport.zip # 生成错误报告
adb reboot # 重启设备
adb reboot bootloader # 重启到 bootloader
adb reboot recovery # 重启到 recovery
分区操作
bash
adb remount # 重新挂载为可读写
adb disable-verity # 禁用 dm-verity
提示
- 部分命令(如
remount、disable-verity)需要在 root 权限 下运行 - 使用
-s参数可以指定多设备环境下的目标设备 wait-for-device常用于脚本中等待设备连接