【翻译】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...

相关推荐
QING6181 小时前
Kotlin 协程中Job和SupervisorJob —— 新手指南
android·kotlin·android jetpack
lichong9511 小时前
android 使用 java 编写网络连通性检查
android·java·前端
Digitally1 小时前
如何从iPhone切换到Android
android·ios·iphone
2501_916007471 小时前
苹果应用商店上架的系统逻辑,从产品开发到使用 开心上架 上架IPA 交付审核流程
android·ios·小程序·https·uni-app·iphone·webview
r***86981 小时前
搭建Golang gRPC环境:protoc、protoc-gen-go 和 protoc-gen-go-grpc 工具安装教程
android·前端·后端
e***75391 小时前
SQL Server 数据库迁移到 MySQL 的完整指南
android·数据库·mysql
他叫自己MR张1 小时前
Android 必知必会 - AndroidStudio、AGP、Gradle、Java、Kotlin版本对应关系(官方最新)
android·kotlin·android studio·agp
大雨淅淅1 小时前
【编程语言】Kotlin:从新手到大神的进阶之路
android·开发语言·kotlin
微声G1 小时前
Kotlin Multiplatform超详细介绍,一篇就够了
android·ios·kotlin