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

相关推荐
曲幽1 小时前
你的FastAPI又在服务器上“跑不起来”了?来,今天咱把打包这件事彻底聊透
linux·windows·python·docker·fastapi·web·pyinstaller·nssm·services
AI玫瑰助手1 小时前
Python函数:局部变量与全局变量的作用域
开发语言·python·信息可视化
imDwAaY1 小时前
机器学习入门:从感知机到逻辑回归,理解线性分类器与Softmax CS188 Note20 学习笔记
人工智能·笔记·python·学习·机器学习·逻辑回归
2601_961194021 小时前
2026初级会计实务教材电子版|章节讲义+习题PDF
python·考研·django·pdf·virtualenv·pygame
极客笔记Jack1 小时前
Scanpy 富集分析实战:gseapy 从基因列表到通路解读
python
岁月宁静2 小时前
Hermes Agent:让你的AI智能体越用越聪明
python·agent
财经资讯数据_灵砚智能2 小时前
基于全球经济类多源新闻的NLP情感分析与数据可视化(夜间-次晨)2026年5月29日
人工智能·python·信息可视化·自然语言处理·ai编程
触底反弹2 小时前
从数据结构到 Prompt 设计:前端工程师的 AI 时代进阶指南
javascript·人工智能·python
好好风格2 小时前
这个开源项目,把本地大模型做成会说话的 Live2D 桌宠
人工智能·python·开源