adb命令简介

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

adb命令简介
⼀、什么是 adb?
adb 全称 Android Debug Bridge,中⽂名叫做 Android 调试桥,是⼀种功能多样的命令⾏⼯具,可以对设备进⾏操作。

adb 命令可⽤于执⾏各种设备操作(如安装和调试应⽤),并提供⼀些访问权限(清除应⽤数据等)。

它是⼀种客户端-服务端的程序,包括三个组件:
1. 客户端:⽤于发送命令。

客户端在计算机上运⾏,可以通过 adb 命令从命令⾏终端调⽤客户端
2. 守护程序(adbd):⽤于在设备上运⾏命令。

守护程序在每个设备上作为后台进程运⾏。

3. 服务器:⽤于管理客户端和守护程序之间的通信。

服务器在开发机器上作为后台进程运⾏。

⼆、 adb ⼯作原理
1. 启动 adb 客户端时(不需要⼈为启动),该客户端会先检查是否有 adb 服务器进程正在运⾏
2. 如果没有,客户端会启动⼀个服务进程,该服务器在启动后会于本地 TCP 端⼝ 5037 绑定,并监听 adb 客户端发出的命令(所有
adb 客户端均通过端⼝ 5037 与 adb 服务器通信)
3. 服务器会与所有正在运⾏的设备进⾏连接。

它通过扫描 5555 到 5585 之间(该范围供前16个模拟器使⽤)的奇数号端⼝来查找模
拟器。

服务器⼀旦发现 adb 守护程序(adbd),便会与相应的端⼝建⽴连接。

注意:每个模拟器都使⽤⼀对按顺序排列的端⼝(⽤于控制台连接的偶数号端⼝和⽤于 adb 连接的奇数号端⼝)
模拟器 1,控制台:5554
模拟器 1,adb:5555
模拟器 2,控制台:5556
模拟器 2,adb:5557
依此类推
如上所⽰,在端⼝ 5555 处与 adb 连接的模拟器与控制台监听端⼝为 5554 的模拟器是同⼀个。

4. 服务器与所有设备均建⽴连接后,便可以使⽤ adb 命令访问这些设备。

由于服务器管理与设备的连接,并处理来⾃多个 adb 客户端
的命令,因此可以从任意客户端(或从某个脚本)控制任意设备。

三、常见 adb 命令
1. 显⽰系统中全部设备:adb devices
2. 列出⼿机装的所有app的包名:adb shell pm list packages
3. 列出系统应⽤的所有包名:adb shell pm list packages -s
4. 列出除了系统应⽤的第三⽅应⽤包名: adb shell pm list packages -3
5. 清除应⽤数据与缓存:adb shell pm clear (apk包名)(以爱奇艺为例)
6. 获取正在运⾏的Activity:adb shell dumpsys activity activities(获取到activity可在打开应⽤时使⽤)
7. 启动应⽤:adb shell am start -n com.qiyi.video/.WelcomeActivity(以第6步骤中获取的爱奇艺activity为例)
四、总结
更多 adb 命令请查阅 ,adb 是我们做 android 测试必备的技能,不光是结合 uiautomator 使⽤,其次还在性能⽅法查看内存,cpu,流量等的变化。

相关文档
最新文档