Android Debug Bridge (ADB) 命令详解及用法指南
编辑引言
Android Debug Bridge(简称 ADB)是 Android SDK 中的一个工具,它使得开发人员能够管理设备或手机壳上的调试,还可以进行很多手机操作,例如安装软件、运行 shell 命令等等。本文将详细介绍 ADB 的各种命令及其用法。
ADB 版本信息
首先,我们来看一下 ADB 的版本信息:
Android Debug Bridge version 1.0.41
Version 35.0.2-12147458
Installed as C:\WINDOWS\system32\adb.exe
Running on Windows 10.0.26100
全局选项
-a
:监听所有网络接口,而不仅仅是 localhost。-d
:使用 USB 设备(如果连接多个设备则会报错)。-e
:使用 TCP/IP 设备(如果有多个 TCP/IP 设备可用则会报错)。-s SERIAL
:使用指定序列号的设备(覆盖$ANDROID_SERIAL
)。-t ID
:使用指定传输 ID 的设备。-H
:ADB 服务器主机名(默认 localhost)。-P
:ADB 服务器端口(默认 5037)。-L SOCKET
:监听指定套接字的 ADB 服务器(默认 tcp:localhost:5037)。--one-device SERIAL|USB
:仅与一个 USB 设备连接,需与start-server
或server nodaemon
一起使用。--exit-on-write-error
:如果 stdout 关闭则退出。
通用命令
devices [-l]
:列出连接的设备(-l
为长输出)。help
:显示帮助信息。version
:显示版本号。
网络相关命令
connect HOST[:PORT]
:通过 TCP/IP 连接到设备(默认端口 5555)。disconnect [HOST[:PORT]]
:断开与指定 TCP/IP 设备的连接(默认端口 5555),或断开所有连接。pair HOST[:PORT] [PAIRING CODE]
:与设备进行安全 TCP/IP 通信配对。forward --list
:列出所有转发套接字连接。forward [--no-rebind] LOCAL REMOTE
:使用指定的本地和远程套接字进行转发。forward --remove LOCAL
:移除特定的转发套接字连接。forward --remove-all
:移除所有转发套接字连接。reverse --list
:列出设备上的所有反向套接字连接。reverse [--no-rebind] REMOTE LOCAL
:使用指定的远程和本地套接字进行反向转发。reverse --remove REMOTE
:移除特定的反向套接字连接。reverse --remove-all
:移除设备上的所有反向套接字连接。mdns check
:检查 mdns 发现是否可用。mdns services
:列出所有发现的 mdns 服务。
文件传输
push [--sync] [-z ALGORITHM] [-Z] LOCAL... REMOTE
:将本地文件/目录复制到设备。pull [-a] [-z ALGORITHM] [-Z] REMOTE... LOCAL
:从设备复制文件/目录。sync [-l] [-z ALGORITHM] [-Z] [all|data|odm|oem|product|system|system_ext|vendor]
:将本地构建同步到设备。
Shell 命令
shell [-e ESCAPE] [-n] [-Tt] [-x] [COMMAND...]
:运行远程 shell 命令(如果没有命令则进入交互式 shell)。emu COMMAND
:运行模拟器控制台命令。
应用安装
install [-lrtsdg] [--instant] PACKAGE
:将单个包推送到设备并安装。install-multiple [-lrtsdpg] [--instant] PACKAGE...
:推送多个 APK 到设备进行单次安装。uninstall [-k] PACKAGE
:从设备中移除应用包。
调试
bugreport [PATH]
:将 bug 报告写入指定路径。jdwp
:列出托管 JDWP 传输的进程 ID。logcat
:显示设备日志。
安全
disable-verity
:在 userdebug 构建上禁用 dm-verity 检查。enable-verity
:在 userdebug 构建上重新启用 dm-verity 检查。keygen FILE
:生成 ADB 公钥/私钥。
脚本
wait-for[-TRANSPORT]-STATE...
:等待设备进入指定状态。get-state
:打印设备状态。get-serialno
:打印序列号。get-devpath
:打印设备路径。remount [-R]
:重新挂载分区为读写。reboot [bootloader|recovery|sideload|sideload-auto-reboot]
:重启设备。sideload OTAPACKAGE
:侧载 OTA 包。root
:以 root 权限重启 adbd。unroot
:不以 root 权限重启 adbd。usb
:重启 adbd 监听 USB。tcpip PORT
:重启 adbd 监听 TCP 端口。
内部调试
start-server
:确保 ADB 服务器正在运行。kill-server
:如果 ADB 服务器正在运行则杀死它。reconnect
:从主机侧强制重新连接。reconnect device
:从设备侧强制重新连接。reconnect offline
:重置离线/未授权设备以强制重新连接。
USB 相关命令
attach
:附加一个分离的 USB 设备。detach
:从 USB 设备分离,允许其他进程使用。
环境变量
$ADB_TRACE
:记录调试信息的列表。$ADB_VENDOR_KEYS
:冒号分隔的密钥列表。$ANDROID_SERIAL
:要连接的序列号。$ANDROID_LOG_TAGS
:logcat 使用的标签。$ADB_LOCAL_TRANSPORT_MAX_PORT
:最大模拟器扫描端口。$ADB_MDNS_AUTO_CONNECT
:允许自动连接的 mdns 服务列表。
结语
通过本文的介绍,相信你对 ADB 工具及其命令有了更深入的了解。ADB 是一个非常强大的工具,掌握其使用方法可以大大提高 Android 开发的效率。希望这篇指南对你有所帮助!
- 5
- 0
-
分享