| :-- | -- |
|---|---|
adb devices | 列出已连接的设备 |
adb devices -l | 列出已连接的设备和种类 |
adb connect [IP:PORT] | 连接到指定 IP 和端口的设备 |
adb disconnect [IP:PORT] | 断开指定 IP 和端口的设备连接,若未指定,则断开所有连接 |
adb root | 以 root 权限重新启动 adbd |
adb start-server | 启动 adb 服务 |
adb kill-server | 停止 adb 服务 |
adb remount | 重新挂载具有读/写访问权限的文件系统 |
adb reboot | 重启设备 |
adb reboot bootloader | 将设备重启到 fastboot 模式 |
adb reboot recovery | 将设备重启到恢复模式 |
adb disable-verity | 禁用设备的 dm-verity 安全特性 |
wait-for-device 可以在 adb 之后指定,以确保该命令在设备连接后运行-s 可用于在多个连接时将命令发送到特定设备$ adb wait-for-device devices
List of devices attached
somedevice-1234 device
someotherdevice-1234 device
$ adb -s somedevice-1234 root
| :-- | -- |
|---|---|
adb logcat | 将日志消息打印到标准输出 |
adb logcat -g | 显示当前日志缓冲区大小 |
adb logcat -G <size> | 设置缓冲区大小(K 或 M) |
adb logcat -c | 清除日志缓冲区 |
adb logcat *:V | 启用所有日志消息(详细) |
adb logcat -f <filename> | 将日志转储到指定文件 |
$ adb logcat -G 16M
$ adb logcat *:V > output.log
V 最详细的信息(最低优先级)D 调试信息I 普通信息W 警告信息E 错误信息F 致命错误信息S 静默(最高优先级)例如,要显示优先级不低于 警告 的所有标记的所有日志消息,可以使用以下命令:
$ adb logcat *:W
| :-- | -- |
|---|---|
adb get-statе | 打印设备状态 |
adb get-serialno | 获取设备的序列号 |
adb shell dumpsys iphonesybinfo | 获取设备的 IMEI 信息 |
adb shell netstat | 列出设备上的所有 TCP 连接 |
adb shell pwd | 打印当前工作目录 |
adb shell dumpsys battery | 获取设备电池状态 |
adb shell pm list features | 列出设备支持的所有功能 |
adb shell service list | 列出设备上运行的所有服务 |
adb shell dumpsys activity <package>/<activity> | 获取指定包和活动的信息 |
adb shell ps | 打印设备上所有运行的进程状态 |
adb shell wm size | 显示当前设备的屏幕分辨率 |
dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp' | 打印当前应用程序的打开活动的信息 |
| :-- | -- |
|---|---|
adb shell pm list packages | 列出包名称 |
adb shell pm list packages -f | 列出包名 + apks 的路径 |
adb shell pm list packages -3 | 列出第三方包名称 |
adb shell pm list packages -s | 仅列出系统包 |
adb shell pm list packages -u | 列出出包和未安装包 |
adb shell pm list packages -i | 列出包名称 + 安装来源 |
adb shell pm list packages -e | 列出启用的包 |
adb shell pm list packages -d | 列出禁用的包 |
adb shell dumpsys package packages | 列出所有应用程序的信息 |
adb shell dumpsys package <name> | 列出一个包的信息 |
adb shell pm path <package> | 列出 APK 文件的路径 |
| :-- | -- |
|---|---|
adb reboot recovery | 重启设备进入恢复模式 |
adb reboot fastboot | 重启设备进入恢复模式 |
adb shell screencap -p "/path/to/screenshot.png" | 截图 |
adb shell screenrecord "/path/to/record.mp4" | 录制设备屏幕 |
adb backup -apk -all -f backup.ab | 备份设置和应用程序 |
adb backup -apk -shared -all -f backup.ab | 备份设置、应用程序和共享存储 |
adb backup -apk -nosystem -all -f backup.ab | 仅备份非系统应用程序 |
adb restore backup.ab | 恢复以前的备份 |
adb shell am start -a android.intent.action.VIEW -d URL | 打开网址 |
adb shell am start -t image/* -a android.intent.action.VIEW | 打开画廊 |
我们可以通过 Wi-Fi 或专门使用 tcp 连接使用 adb。 要通过 Wi-Fi 使用 adb,首先通过 USB 连接手机并启用 USB 调试。然后列出所有设备:
$ adb devices
# 这应该给出这样的输出:
# device_id device
现在检查 Android 设备的 IP:
$ adb shell ifconfig
# 输出:
wlan0 Link encap:UNSPEC Driver icnss
inet addr:XXX.XXX.X.XX Bcast:XXX.XXX.X.XXX
记下 inet addr 后的 IP 地址。稍后要用。现在在某个端口重新启动 tcpip:
$ adb tcpip $port
例如 5555:
$ adb tcpip 5555
您现在可以断开 USB 线缆使用。 若要连接到设备请键入以下命令:
$ adb connect $ip:$port
例如:
$ adb connect 192.168.1.4:5555