Android 调试桥 (adb) 是一种功能多样的命令行工具,可以通过命令行与设备进行通信。
查询设备
-
adb devices
adb 会创建一个字符串,用于通过端口号唯一标识设备。
-
adb devices -l
加入 -l 选项,devices 命令会告知设备是什么。当连接了多个设备时,此信息会很有用,方便区分这些设备。
设备状态
- offline:设备未连接到 adb 或没有响应。
- device:设备已连接到 adb 服务器。请注意,此状态并不表示 Android 系统已完全启动并可正常运行,因为在设备连接到 adb 时系统仍在启动。系统完成启动后,设备通常处于此运行状态。
- no device:未连接任何设备。
- unauthorized:电脑与安卓设备之间的调试授权未完成。
指定目标设备(-s选项)
如果有多个设备在运行,必须指定目标设备 。
使用 devices
命令获取目标设备的序列号。
获得序列号后,结合使用-s
选项与 adb 命令来指定序列号。
安装应用
adb install path_to_apk
卸载应用
adb uninstall <package_name>
端口转发(forward)
可以使用 forward 命令设置任意端口转发,将特定主机端口上的请求转发到设备上的其他端口。
adb forward tcp:6100 tcp:7100
push与pull
-
push
如需将某个文件或目录(及其子目录)从PC端复制到Android端
adb push local remote
-
pull
从Android端复制某个文件或目录(及其子目录)到PC端
adb pull remote local
停止 adb 服务器
adb kill-server
停止 adb 服务器候,可以通过发出其他任何 adb 命令来重启服务器。
shell 命令
可以使用 shell 命令通过 adb 发出设备命令,也可以使用该命令启动交互式 shell。
软件包管理器
- 列出所有已安装应用
adb shell pm list packages
- 列出安卓设备上的所有系统应用
adb shell pm list packages -s
- 列出所有用户应用(非系统应用)
adb shell pm list packages -3
屏幕截图
在shell中,进入/sdcard
目录下,使用命令screencap filename
在PC端,从命令行使用 screencap,使用命令adb shell screencap /sdcard/screen.png