【翻译】adb(Android Debug Bridge) 帮助文档

arduino 复制代码
Android Debug Bridge 版本 1.0.41
版本号 36.0.0-13206524adb.exe
运行于 Windows 10.0.26100
sql 复制代码
全局选项:
 -a                       在所有网络接口上监听,而不仅仅是 localhost
 -d                       使用 USB 设备(如果连接了多个设备则报错)
 -e                       使用 TCP/IP 设备(如果有多个可用的 TCP/IP 设备则报错)
 -s 序列号                使用指定序列号的设备(覆盖 $ANDROID_SERIAL 环境变量)
 -t ID                    使用指定传输 ID 的设备
 -H                       指定 adb 服务器主机名 [默认=localhost]
 -P                       指定 adb 服务器端口 [默认=5037]
 -L SOCKET                在指定的套接字上监听 adb 服务器 [默认=tcp:localhost:5037]
 --one-device SERIAL|USB  仅允许与 'start-server' 或 'server nodaemon' 一起使用,服务器将仅连接到一台 USB 设备,由序列号或 USB 设备地址指定。
 --exit-on-write-error    如果标准输出被关闭则退出

常规命令:
 devices [-l]             列出已连接的设备(-l 表示详细输出)
 help                     显示此帮助信息
 version                  显示版本号

网络连接:
 connect 主机[:端口]       通过 TCP/IP 连接到设备 [默认端口=5555]
 disconnect [主机[:端口]]  从给定的 TCP/IP 设备断开连接 [默认端口=5555],或断开所有连接
 pair 主机[:端口] [配对码]  与设备配对以进行安全的 TCP/IP 通信
 forward --list           列出所有正向套接字连接
 forward [--no-rebind] 本地地址 远程地址
                          使用以下方式建立正向套接字连接:
                            tcp:<端口> (<本地地址> 可为 "tcp:0" 以选择任意开放端口)
                            localabstract:<Unix 域套接字名称>
                            localreserved:<Unix 域套接字名称>
                            localfilesystem:<Unix 域套接字名称>
                            dev:<字符设备名称>
                            dev-raw:<字符设备名称> (以原始模式打开设备)
                            jdwp:<进程PID> (仅限远程)
                            vsock:<CID>:<端口> (仅限远程)
                            acceptfd:<文件描述符> (仅限监听)
 forward --remove 本地地址 移除特定的正向套接字连接
 forward --remove-all     移除所有正向套接字连接
 reverse --list           列出设备上的所有反向套接字连接
 reverse [--no-rebind] 远程地址 本地地址
                          使用以下方式建立反向套接字连接:
                            tcp:<端口> (<远程地址> 可为 "tcp:0" 以选择任意开放端口)
                            localabstract:<Unix 域套接字名称>
                            localreserved:<Unix 域套接字名称>
                            localfilesystem:<Unix 域套接字名称>
 reverse --remove 远程地址 移除特定的反向套接字连接
 reverse --remove-all     移除设备上的所有反向套接字连接
 mdns check               检查 mDNS 发现服务是否可用
 mdns services            列出所有已发现的服务

文件传输:
 push [--sync] [-z 算法] [-Z] 本地路径... 远程路径
                           将本地文件/目录复制到设备
                           -n: 空运行:推送文件到设备但不存储到文件系统
                           -q: 不显示进度信息
                           -Z: 禁用压缩
                           -z: 使用指定算法启用压缩 (any/none/brotli/lz4/zstd)
                           --sync: 仅推送主机和设备上时间戳不同的文件
 pull [-a] [-z 算法] [-Z] 远程路径... 本地路径
                           从设备复制文件/目录
                           -a: 保留文件时间戳和模式
                           -q: 不显示进度信息
                           -Z: 禁用压缩
                           -z: 使用指定算法启用压缩 (any/none/brotli/lz4/zstd)
 sync [-l] [-z 算法] [-Z] [all|data|odm|oem|product|system|system_ext|vendor]
                           将 $ANDROID_PRODUCT_OUT 中的本地构建同步到设备 (默认 all)
                           -l: 列出将要复制的文件,但不实际复制
                           -n: 空运行:推送文件到设备但不存储到文件系统
                           -q: 不显示进度信息
                           -Z: 禁用压缩
                           -z: 使用指定算法启用压缩 (any/none/brotli/lz4/zstd)

Shell:
 shell [-e 转义字符] [-n] [-Tt] [-x] [命令...]
                           运行远程 shell 命令(如果未给出命令则进入交互式 shell)
                           -e: 选择转义字符,或 "none";默认为 '~'
                           -n: 不从标准输入读取
                           -T: 禁用伪终端分配
                           -t: 如果在终端上则分配伪终端 (-tt: 强制分配伪终端)
                           -x: 禁用远程退出码和标准输出/标准错误分离
 emu 命令                  运行模拟器控制台命令

应用安装(另请参见 `adb shell cmd package help`):
 install [-lrtsdg] [--instant] 包名
                           推送单个包到设备并安装
 install-multiple [-lrtsdpg] [--instant] 包名...
                           推送多个 APK 到设备(用于单个包)并安装它们
 install-multi-package [-lrtsdpg] [--instant] 包名...
                           推送一个或多个包到设备并以原子操作安装它们
                           -r: 替换现有应用
                           -t: 允许测试包
                           -d: 允许版本代码降级(仅适用于可调试包)
                           -p: 部分应用安装(仅适用于 install-multiple)
                           -g: 授予所有运行时权限
                           --abi ABI: 覆盖平台的默认 ABI
                           --instant: 将应用安装为临时应用
                           --no-streaming: 总是先将 APK 推送到设备,然后单独调用包管理器
                           --streaming: 强制流式传输 APK 直接到包管理器
                           --fastdeploy: 使用快速部署
                           --no-fastdeploy: 阻止使用快速部署
                           --force-agent: 使用快速部署时强制更新部署代理
                           --date-check-agent: 当本地版本较新且使用快速部署时更新部署代理
                           --version-check-agent: 当本地版本代码不同且使用快速部署时更新部署代理
                           (更多选项请参见 `adb shell pm help`。)
 uninstall [-k] 包名       从设备移除此应用包
                           '-k': 保留数据和缓存目录

调试:
 bugreport [路径]          将错误报告写入给定路径 [默认=bugreport.zip];
                           如果路径是一个目录,则错误报告保存在该目录中。
                           不支持压缩错误报告的设备将输出到标准输出。
 jdwp                     列出承载 JDWP 传输的进程的 PID
 logcat                   显示设备日志(更多选项请参见 logcat --help)

安全:
 disable-verity           在 userdebug 版本上禁用 dm-verity 检查
 enable-verity            在 userdebug 版本上重新启用 dm-verity 检查
 keygen 文件               生成 adb 公钥/私钥;私钥存储在文件中,

脚本:
 wait-for[-传输类型]-状态...
                           等待设备进入给定状态
                           状态:device, recovery, rescue, sideload, bootloader, 或 disconnect
                           传输类型:usb, local, 或 any [默认=any]
 get-state                打印 offline | bootloader | device
 get-serialno             打印 <序列号>
 get-devpath              打印 <设备路径>
 remount [-R]             以读写模式重新挂载分区。如果需要重启,-R 将自动重启设备。
 reboot [bootloader|recovery|sideload|sideload-auto-reboot]
                           重启设备;默认为启动系统映像,但也支持启动到 bootloader 和 recovery。sideload 会重启到 recovery 并自动启动 sideload 模式,sideload-auto-reboot 相同但在 sideload 后重启。
 sideload OTA包            侧载给定的完整 OTA 包
 root                     以 root 权限重启 adbd
 unroot                   不以 root 权限重启 adbd
 usb                      重启 adbd 并在 USB 上监听
 tcpip 端口                重启 adbd 并在指定 TCP 端口上监听

内部调试:
 start-server             确保服务器正在运行
 kill-server              如果服务器正在运行则终止它
 reconnect                从主机端踢掉连接以强制重新连接
 reconnect device         从设备端踢掉连接以强制重新连接
 reconnect offline        重置 offline/unauthorized 设备以强制重新连接

USB:
 attach                   附加一个已分离的 USB 设备
 detach                   从一个 USB 设备分离,以允许其他进程使用

环境变量:
 $ADB_TRACE
                           要记录的调试信息的逗号/空格分隔列表:
                           all,adb,sockets,packets,rwx,usb,sync,sysdeps,transport,jdwp,services,auth,fdevent,shell,incremental
 $ADB_VENDOR_KEYS         以冒号分隔的密钥列表(文件或目录)
 $ANDROID_SERIAL          要连接到的序列号(参见 -s 选项)
 $ANDROID_LOG_TAGS        供 logcat 使用的标签(参见 logcat --help)
 $ADB_LOCAL_TRANSPORT_MAX_PORT 最大模拟器扫描端口(默认 5585,16 个模拟器)
 $ADB_MDNS_AUTO_CONNECT   允许自动连接的 mDNS 服务逗号分隔列表(默认 adb-tls-connect)

在线文档:android.googlesource.com/platform/pa...

相关推荐
嗷o嗷o37 分钟前
Android BLE 里,MTU、分包和长数据发送到底该怎么处理
android
Gary Studio2 小时前
Android AIDL HAL工程结构示例
android
y = xⁿ3 小时前
MySQL八股知识合集
android·mysql·adb
andr_gale3 小时前
04_rc文件语法规则
android·framework·aosp
祖国的好青年4 小时前
VS Code 搭建 React Native 开发环境(Windows 实战指南)
android·windows·react native·react.js
黄林晴5 小时前
警惕!AGP 9.2 别只改版本号,R8 规则与构建链路全线收紧
android·gradle
小米渣的逆袭5 小时前
Android ADB 完全使用指南
android·adb
儿歌八万首5 小时前
Jetpack Compose Canvas 进阶:结合 animateFloatAsState 让自定义图形动起来
android·动画·compose
zhangphil6 小时前
Android Page 3 Flow读sql数据库媒体文件,Kotlin
android·kotlin