APP测试--adb使用介绍
一、adb简介
1.1、adb是什么?
ADB,全名Android Debug Bridge(Android调试桥),是Android提供的一个通用的调试工具,基于C/S架构的命令行工具,通过这个工具,可以使PC能够和Android设备来进行通信,通过电脑控制手机的目的。
1.2、adb构成
adb构成为三部分:adb客户端、adb服务端、adb daemon守护进程
- adb客户端:运行在开发机器,负责发送adb命令,比如:个人PC
- adb daemon守护进程:运行在Android设备中,负责接收并执行adb命令。例如:Android手机、Android模拟器等
- adb服务端:运行在开发机器,负责adb客户端和adb daemon之间通信
1.3、adb能干啥?
- 通过电脑控制手机各种操作【含APP性能测试】
- 电脑和手机之间数据传递
1.4、adb环境搭建
- 官方文档:https://ihax.io/adb-fastboot-commands/
- 中文文档:https://cloud.tencent.com/developer/article/2218922
- 下载adb下载软件包:https://adbdownload.com/
- 解压后到指定目录即可
- 配置环境变量:
- 打开系统-->系统信息-->高级系统设置
- 环境变量-->系统变量 path-->编辑
- 打开cmd窗口输入:adb version验证
二、adb使用准备
- 2.1 安装配置adb工具(参见上述1.4步骤)
- 2.2 连接Android设备
- Android模拟器
- Android手机:手机需要开启USB调试模式
三、adb常用命令
3.1、设备本身
- 查看设备是否接入: adb devices
检查设备是否已经接入,及设备显示是否正确
- 设备接入不正常【offline】:重新关闭/开启adb服务
- adb服务关闭: adb kill-server
- adb服务开启: adb start-server
- 设备手动连接
- 连接木木模拟器: adb connect 127.0.0.1:7555
- 连接雷电模拟器: adb connect 127.0.0.1:5555
- WiFi局域网连接真机: adb connect 手机IP地址
- 手动断开真机/模拟器: adb disconnect IP地址
- apk软件包安装卸载:通过adb命令给手机安装卸载软件
- 安装软件: adb install 电脑路径/apk文件名
- 卸载软件: adb uninstall apk包名
注意:安装和卸载后面跟不同的名称
- 文件上传下载:通过adb命令给手机上传/从手机下载文件
- 上传文件: adb push 电脑路径 设备路径
- 下载文件: adb pull 设备路径 电脑路径
- 查看跟踪手机端/APP日志
- cmd下直接查看: adb logcat
- 将日志重定向文件: adb logcat > 电脑路径/日志文件名.log
3.2、adb shell 命令
1、Android系统本身是基于Linux系统开发的,因而也支持Linux命令,通过adb shell命令进入,在“/system/bin”中可以查看支持的Linux命令操作。在cmd下可以直接将adb shell命令和Linux命令结合一起操作
2、adb shell:用户通过命令行解释器和操作系统进行交互,实现对机器的控制
- 方式一:先进入,再操作
- 方式二:直接在cmd下操作
3.2.1、pm和am命令
- adb shell pm命令
- 列出已安装的APP包: adb shell pm list packages
- 列出已安装的第三方APP包: adb shell pm list packages -3
1、pm工具为包管理(package manager)的简称,能模拟android行为或者查询设备上的应用等;
2、可以使用pm工具来执行应用app的安装、查询、控制等操作;Android开发测试都会涉及到。
- adb shell am命令
- 获取app启动页: adb shell dumpsys window | findstr mCurrentFocus
- 获取启动页时注意:在启动APP的瞬间需要执行上述命令,而不是启动完成后再执行上述命令
- app启动命令: adb shell am start -W 包名/Activity名
- app停用命令: adb shell am force-stop 包名
1、am:全称活动管理器(activity manager),相当于管理app的页面,能使用am去模拟各种系统的行为。例如去启动一个activity,强制停止进程,发送广播进程,修改设备屏幕属性等
3.2.2、dumpsys命令
- adb shell dumpsys命令
1 adb shell dumpsys:查询所有的系统服务相关信息
- ① 查看系统内存情况: adb shell dumpsys meminfo
- 查看某个程序占用内存情况: adb shell dumpsys meminfo 包名
1、例如:查看拼多多APP占用手机内存情况,系统总内存:7647668KB;拼多多APP此刻占用内存:310310KB
2、请问:此时拼多多APP占用手机内存比例有多少? (310310/7647668)*100% = 4%
- ② 查看CPU占用情况: adb shell dumpsys cpuinfo | findstr 包名
- ③ 获取设备总电量信息: adb shell dumpsys battery
- ④ 获取某应用程序流量
- 查看应用程序进程ID(PID): adb shell ps | findstr xxx
- 查看应用程序耗费流量: adb shell cat /proc/PID/net/dev 【PID指上述获取的进程ID】
- 查看应用程序耗费实时流量: adb shell watch -n xx cat /proc/PID/net/dev 【每隔xx秒 获取PID对应app的流量,单位为Byte】
- ⑤ 查看流畅度: adb shell dumpsys gfxinfo 包名 | findstr "Janky frames"
注意事项:
需要手机开启"GPU呈现模式分析"
通过查看Janky frams获取丢帧率(丢帧越多越卡),正常达到24帧以上肉眼感知不出 卡顿(60帧最佳)
- ⑥ app稳定性: adb shell monkey -p 包名 -v 随机次数 > 路径/文件名.log
稳定性测试:检查随意使用app是否会出现闪退(crash)无响应(ANR)现象
通过查询日志中关键词出现的次数就可以统计出是否出现异常,及出现的异常数据
四、网盘adb下载
通过网盘分享的文件:android-sdk-adb
链接: https://pan.baidu.com/s/1A-FSCxftplmBH2igeqt7Vg?pwd=x6rw 提取码: x6rw
