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)