五、Android 常用adb 命令总结
Android Debug Bridge
1、介绍
adb 是 Android Debug Bridge, Android 调试桥的缩写,adb 是一个 C/S 架构的命令行工具,主要由 3 部分组成:
- 运行在 PC 端的 Client : 可以通过它发送adb命令调用客户端
- 运行在 PC 端的 Service : 管理客户端到 Android 设备上 adb 后台进程的连接
adb 服务启动后,Windows 可以在任务管理器中找到 adb.exe 这个进程
- 运行在 Android 设备上的 守护进程(adbd):在每个设备上作为后台运行
执行 adb shell ps | grep adbd ,可以找到该后台进程,windows 请使用 findstr 替代 grep
[xuxu:~]$ adb shell ps | grep adbd
root 23227 1 6672 832 ffffffff 00019bb4 S /sbin/adbd
2、原理
(1)启动adb客户端时,客户端先检查是否有adb服务器进程运行。如果没有,客户端会启动服务器进程;服务器进程启动后会与本地TCP端口5037 绑定,并监听adb客户端发送的命令。所有adb客户端都是通过5037端口与adb服务器通信。
(2)服务器 与所有运行 的设备建立连接,它通过扫描 5555到5585之间(范围内供前16个模拟器使用)的奇数号端口查找模拟器。服务器一旦发现adb守护进程(adbd),便会与相应的端口建立 连接。其中,每个模拟器都使用一对按顺序排序的端口-用于控制台连接的偶数号端口和用于adb连接的奇数号端口。如:
模拟器 1,控制台:5554
模拟器 1,adb:5555
模拟器 2,控制台:5556
模拟器 2,adb:5557
依此类推
3、常用命令
(1)adb命令
- adb 查看命令
- adb device查看设备
-
- -l 参数输出设备详细信息,包括序列号、状态(offline、device、 no device)
- adb install/unisntall packagename :安装卸载APK
- adb pull/push:设备和本地复制文件
- adb kill-server:停止adb服务器
(2)adb shell 命令
- adb [-d|-e serial_number] shell shell_command:发送shell命令
- adb shell:启动交互式shell,eixt或Ctrl+D退出
(1)调用Activity管理器(am): 使用 Activity 管理器 (am) 工具发出命令以执行各种系统操作,如启动 Activity、强行停止进程、广播 intent、修改设备屏幕属性,等等。可以在shell中或adb中执行
- 从adb发出Activity管理器命令
- 从shell中启动
(2)调用软件包管理器(pm):对设备安装的应用执行操作和 查询,可以在shell中或adb中执行
(3)调用设备政策管理器(dpm),控制活动管理应用或更改设备上的政策 状态数据,可以在shell中或adb中执行
(4)截取屏幕截图,可以在shell中或adb中执行
(5)录制视频,可以在shell中或adb中执行
(6)读取应用的ART(Android Runtime)配置文件,Android 7.0开始ART会手机已安装应用的执行配置文件。
(7)重置测试设备
adb shell cmd testharness enable
(8)sqlite
(9)dumpsys:在设备上运行,可提供有关系统服务的信息。
- 查看可用命令
- 测试界面性能
- 检查网络诊断
- 检查电池诊断
- 检查电池状态
- 设置低电耗
之后观察应用,确保应用在退出低电耗模式下正常。
- 查看内存分配,procstats
查看过去3小时内的 内存占用
- meminfo