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环境搭建

  • 解压后到指定目录即可
  • 配置环境变量:
    • 打开系统-->系统信息-->高级系统设置
    • 环境变量-->系统变量 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

相关推荐
X1A0RAN几秒前
Python 并发请求性能优化实战
python·性能优化·并发编程
陈同学xxx6 分钟前
Hermes Agent 接入飞书,在手机上随时聊天
linux·python·飞书
卷无止境11 分钟前
Python 中基于 Qt 的 GUI 库授权方式全解析
后端·python
卷无止境25 分钟前
Guardrails.ai:为大语言模型加一道"安全阀"
后端·python
汤姆小白5 小时前
01-环境搭建与项目导览
人工智能·python·机器学习·numpy
向日的葵00611 小时前
langchain的Tools教程(三)
python·langchain·tools
xy345311 小时前
wireshark 如何捕获信息
网络·测试工具·渗透测试·wireshark
言乐612 小时前
Python实现可运行解密游戏游戏框架
python·游戏·小程序·游戏程序·关卡设计
YUS云生13 小时前
Python学习笔记·第31天:FastAPI入门——路由、路径参数、查询参数与请求体
笔记·python·学习
智写-AI13 小时前
真实有效的免费降英文AI工具服务商
人工智能·python