文章目录
- 一、ADB介绍
-
- [1.1 ADB工具介绍](#1.1 ADB工具介绍)
- [1.2 ADB环境搭建](#1.2 ADB环境搭建)
- [1.3 配置path说明](#1.3 配置path说明)
- 二、ADB命令
-
- [2.1 安装、卸载、获取包名](#2.1 安装、卸载、获取包名)
- [2.2 获取APP日志](#2.2 获取APP日志)
- [2.3 获取APP启动时间](#2.3 获取APP启动时间)
- [2.4 获取内存](#2.4 获取内存)
- [2.5 CPU](#2.5 CPU)
- [2.6 获取APP使用流量](#2.6 获取APP使用流量)
- [2.7 其他命令](#2.7 其他命令)
一、ADB介绍
1.1 ADB工具介绍
ADB(Android Debug Bridge)是一个通用命令行工具,也是Android软件测试开发工作者常用的调试工具。
ADB可以用来安装卸载软件 、管理安卓系统软件 、启动测试 、抓取操作日志等
1.2 ADB环境搭建
SDK下载地址:http://tools.android-studio.org/index.php/sdk
1、安装安卓SDK
2、安装ADB
3、配置环境变量(计算机右键---属性---高级系统设置---环境变量--新增系统变量)
yacas
变量名: ANDROID_HOME
变量值: C:\Z\Test\zhuabao\android-sdk (即SDK的所在⽬录)
4、配置系统环境变量下的path
yacas
%ANDROID_HOME%\platform-tools
%ANDROID_HOME%\tools

5、验证安装成功:win R -->cmd
bash
C:\Users\ggk>adb
Android Debug Bridge version 1.0.39
Version 0.0.1-4500957
Installed as C:\Z\Test\zhuabao\android-sdk\platform-tools\adb.exe
1.3 配置path说明

二、ADB命令
2.1 安装、卸载、获取包名
shell
1、安装软件:adb install APK路径
-r 代表如果apk已安装,r重新安装apk并保留数据和缓存文件。apk路径则可以直接将apk文件拖进cmd窗口,记得加空格。
2、卸载软件:adb uninstall (apk包名)
如果卸载app,但需要保留数据和缓存文件:adb uninstall -k (apk包名)
3、获取软件包名:
------①列出手机装的所有app的包名:adb shell pm list packages
------②列出系统应用的所有包名:adb shell pm list packages -s
------③列出除了系统应用的第三方应用包名:adb shell pm list packages -3
------④显示当前打开的软件包名:Windows系统命令:adb shell dumpsys window | findstr mCurrentFocus(需要打开目标软件) Mac/Linux命令:adb shell dumpsys window | grep mCurrentFocus

2.2 获取APP日志
当测试APP过程中出现闪退、死机、无响应,需要查看日志。(把日志截取下来发给开发)
shell
格式:adb logcat > 指定路径
举例:
① adb logcat >C:\Users\ggk\Desktop\1.txt
② 执行完后Ctrl+C结束日志获取
③ 查看获取的1.txt文档即可

2.3 获取APP启动时间
shell
格式:adb shell am start -W 包名/activity名
1、常见参数:
-S:表示每次启动前先强行停止
-R:表示重复测试次数
2、常见的三个指标
ThisTime: 当前activity的时间。
TotalTime:应用的启动时间,包括创建进程、App初始化、Activity初始化到界面显示。
WaitTime:前一个应用activity pause的时间 + TotalTime

2.4 获取内存
shell
格式:adb shell dumpsys meminfo <包名>
1、 Native/Dalvik 的 Heap信息
如果发现这个值一直增长,则代表程序可能出现了内存泄漏(Out of memary)。
2、Total 的 PSS 信息
这个值是应用真正占据的内存大小,通过这个信息,可以轻松判别手机中哪些程序占内存比较大

2.5 CPU
shell
格式:adb shell top -s 列号
(-s 按指定行排序)
参数含义:
PID : 应用程序ID
S : 进程的状态(S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值是负数)
#THR : 程序当前所用的线程数
VSS : 虚拟耗用内存(包含共享库占用的内存)
RSS : 实前台际使用物理内存(包含共享库占用的内存)
PCY : (fg)和后台(bg)进程 UID : 用户身份ID
Name : 应用程序名称

2.6 获取APP使用流量
shell
1、获取进程pid
win: adb shell ps | findstr 包名
mac: adb shell ps | grep 包名
如:adb shell ps | grep com.tpshop.malls
2、获取流量
adb shell cat /proc/{pid}/net/dev
3、查看
Wlan0:是网卡-wifi
Receive是接收、Transmit是发送

2.7 其他命令
bash
1、查看设备: adb devices 这个命令是查看当前连接的设备, 连接到计算机的android设备或者模拟器将会列出显示
2、启动服务/关闭ADB服务:adb start-server adb kill-server
3、连接设备:adb connect IP
adb connect 127.0.0.1
如果是USB连接,直接会连接ADB,如果是想通过网络连接(有线或者无线),则需要在同一个局域网,通过IP连接。
4、断开设备:adb disconnect IP
