Android Debug Bridge(adb)

翟学文
2023-12-01

概述

Android 调试桥 (adb) 是一种功能多样的命令行工具,可让您与设备进行通信。adb 命令可用于执行各种设备操作(例如安装和调试应用),并提供对 Unix shell(可用来在设备上运行各种命令)的访问权限。它是一种客户端-服务器程序,包括以下三个组件:

  • 客户端:用于发送命令。客户端在开发计算机上运行。您可以通过发出 adb 命令从命令行终端调用客户端。
  • 守护程序 (adbd):用于在设备上运行命令。守护程序在每个设备上作为后台进程运行。
  • 服务器:用于管理客户端与守护程序之间的通信。服务器在开发机器上作为后台进程运行。

在设备上启用 adb 调试

如要在通过 USB 连接的设备上使用 adb,您必须在设备的系统设置中启用 USB 调试(位于开发者选项下)。如需在通过 WLAN 连接的设备上使用 adb,请参阅通过 WLAN 连接到设备。

在搭载 Android 4.2 及更高版本的设备上,“开发者选项”屏幕默认情况下处于隐藏状态。如需将其显示出来,请依次转到设置 > 关于手机,然后点按版本号七次。返回上一屏幕,在底部可以找到开发者选项。

在某些设备上,“开发者选项”屏幕所在的位置或名称可能有所不同。

查询设备

通过 USB 连接设备,在从 android_sdk/platform-tools/ 目录执行 adb devices 验证设备是否已连接。如果已连接,将看到设备名称以“设备”形式列出。

adb devices

List of devices attached
86d54a74	device
adb devices -l

List of devices attached
86d54a74               device usb:1-5 product:odin model:2106118C device:odin transport_id:2

常用命令

命令含义
adb version查看ADB版本
adb/adb help/adb --help帮助信息
adb start-server开启ADB服务端
adb kill-server关闭ADB服务端
adb install -r xxx.apk重新安装,保持数据不清除(覆盖安装)
adb install -t xxx.apk允许debug包安装
adb uninstall (-k) com.xxx.package_name(保持数据)卸载app
adb pull remote local从Android设备上拉取到本机
adb push local remote从本机推送到Android设备上
adb logcat查看日志

进阶技巧

指定设备中的一个

adb devices 命令或adb devices -l获取所有设备的序列号

  • adb -s 序列号 命令 ……
    举个例子:
adb -s 86对d54a74 install xxx.apk
  • ANDROID_SERIAL环境变量,可以指定单个设备的序列号
  • ANDROID_SERIAL环境变量,可指定n个设备的序列号,以逗号“,”作为分隔符,不使用 -s 指定序列号时,adb会读取ANDROID_SERIAL环境变量的值。同时使用 -s 和ANDROID_SERIAL环境变量,则-s会覆盖掉ANDROID_SERIAL环境变量的值
 类似资料: