一、原理:
adb客户端:能够对adb服务下发指令或命令的工具
server服务端:adb.exe执行之后的进程,表示adb的服务端,通过服务端与手机上的adb守护进程进行通信
adb守护进程 : 随着Android系统的启动而启动,只有当Android关闭后,才会关闭
二、adb常用命令
1、查看设备、启动和关闭adb服务
adb devices 查看手机的设备ID名称以及状态
ffhash-234 表示手机设备的ID名称,device表示设备处于在线状态
 
adb start-server 启动adb服务
adb kill-server 关闭adb服务
 
2、获取包名和界面名
包名:APP包名,通过APP的包名来区分不同的APP,APP包名是唯一的
界面名(启动名):相当于web页面当中的链接地址,在APP当中,每个界面都有一个名字
 
操作:打开相应的APP,
windows: adb shell dumpsys window windows | findstr mfocusedApp
linux/macos: adb shell dumpsys window | grep mFocusedApp
 
通过aapt获取包名和界面名:
aapt dump badging app安装包的路径和名称
包名:package:name = ' '
界面名:launchable-activity:name = ''
3、 安装卸载APP
 
adb 安装 :adb install 路径/安装包名称
adb 卸载 :adb unistall 包名
4、上传下载文件
上传:将电脑的文件上传到手机
adb push 电脑上的文件路径 手机的路径
adb push ./monkey.txt /sdcard
下载:从手机上下载文件到本地
adb push 手机的文件路径 电脑的文件夹路径
adb push /sdcard/monkey.txt D:\opt
 
5、查看日志信息
为什么要获取日志信息:用来给开发定位问题
adb logcat 来查看相关的日志信息
通过管道符 > 将日志输出的本地
adb logcat > D:\log.txt
 
6、APP的启动速度(性能速度)
测试APP启动速度的命令:
adb shell am start -W 包名/界面名
 
ThisTime 该界面启动耗时
TotaTime:应用自身启动耗时
WaitTime : 系统启动耗时
与竞品做对比:
需要关注的是TotaTime ,多次测试,取平均值
 
三、稳定性测试
 
monkey 集成在adb工具中,主要用来做稳定性测试用的,monkey是通过Java语言编写的一种稳定性测试工具
主要用来操作APP会不会出现crash的现象
 
monkey参数:
-p 参数 :对指定的app进行随机操作
adb shell monkey -p com.baidu.homework 100(100次随机时间)
-v 参数 :表示的记录信息的级别
level 0 : adb shell monkey -p com.baidu.homework -v 100 默认级别
level 1 : adb shell monkey -p com.baidu.homework -v -v 100 打印出来的信息会比较详细,只打印跟本程序相关的日志信息
-s 用于指定伪随机数,如果两次的伪随机数相同 ,那么两次的操作步骤、流程、操作时间完全一样
主要的作用,就是用来复现上次的问题
 
adb shell monkey -p com.baidu.homework -v -v 10 100
-throttle 用来指定随机时间的间隔时间单位是毫秒
 
日志分析:
如果在日志中出现了ANR(application not responsing)
Exception ,说明可能程序崩溃
adb shell "monkey
-p com.example.text
-p com.huawei.ohos.inputmethod
-v -v --throttle 300 --ignore-crashes --ignore-timeouts --monitor-native-crashes 10000000
2>/sdcard/error.txt 1>/sdcard/info.txt"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

adb知识的更多相关文章

  1. 关于Log和adb知识

    1,打印日志:adb logcat -v time >log 2,清除以上日志:adb logcat -c 2,查看设备是否连接电脑:adb devices 3,登陆手机设备:adb shell ...

  2. 抓取android系统日志_记录一次定位app闪退故障

    在测试android客户端兼容性时,发现app闪退,上海的小伙伴需要闪退时的系统日志:故把快生锈的adb知识拿出来show一把: 1.下载adb工具包(adb的全称为Android Debug Bri ...

  3. adb相关基础知识集锦

    Android单元测试adb shell am instrument -w adb shell dumpsys adb logcat介绍

  4. 1.移动端自动化测试-知识笔记(面试必备,测试点,adb命令)

    移动端测试: 移动应用,特性(功能) 满足 需求(产品文档,隐性需求) 一.App功能测试: 死活背下来1.业务逻辑正确性测试: 产品文档,隐性需求- 写成测试用例 2.兼容性测试:   1.系统版本 ...

  5. adb进阶知识,如何过滤只查看某一个app的日志

    前面大概学习了adb基础,但是adb的存在,在测试人员中究竟有什么必要,以及看log时,那么多的log,让我们看个屁啊,所以这一次,我决定一定要把adb这件事情搞清楚.   1.先来看最感兴趣的adb ...

  6. IT工具知识-14:如何通过adb操作安卓剪切板?

    1.安装apk 下载地址 2.运行服务(每次重启系统都需要运行一次) adb shell am startservice ca.zgrs.clipper/.ClipboardService 3.设置剪 ...

  7. Android adb常用指令

    Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器 的状态. 可以通过下列几种方法加入adb: 在设备上运行shell命令 通过端口转发来管理模拟器或设备 从模拟器或 ...

  8. android的adb详解(多设备时adb调用)

    在多设备(模拟器)时,想要直接用logcat查看其中一台的状态,或者直接把应用安装到目标设备上时,需要指定设备号.adb devices这个指令可以得到当前设备的序列号(serialNumber).比 ...

  9. 【Android测试】【第一节】ADB——初识和用法

    ◆版权声明:本文出自胖喵~的博客,转载必须注明出处.  转载请注明出处:http://www.cnblogs.com/by-dream/p/4630046.html 写在前面的话 感觉自己进入Andr ...

  10. Android中直播视频技术探究之---基础知识大纲介绍

    一.前言 最近各种视频直播app到处都是,各种霸屏,当然我们也是需要体验的,关于视频直播的软件这里就不介绍了,在不是技术的人来看,直播是一种潮流,是一种娱乐方式,但是作为一个高技术的,我们除了看看,更 ...

随机推荐

  1. 在CentOS中安装Docker

    概述 Docker是一款使用Golang开发的开源容器引擎,我们可以使用Docker将自己的应用和相关依赖进行打包,实现在不同服务器上进行快速部署,而不需要再更多关注部署环境的差异性.结合kubern ...

  2. ElasticSearch的常用API

    ElasticSearch的常用API 1.在服务器上怎么查ES的信息 # 通过使用_cat可以查看支持的命令 ### curl localhost:9200/_cat eg: /_cat/alloc ...

  3. Win11右键菜单改回传统样式

    Win11右键菜单,比较不人性化,隐藏了一些常用选项,需要点"更多选项"才能显示,多次一举. 解决方法,一句话: reg.exe add "HKCU\Software\C ...

  4. 痞子衡嵌入式:恩智浦经典LPC系列MCU内部Flash IAP驱动入门

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是恩智浦经典LPC系列MCU内部Flash IAP驱动. LPC 系列 MCU 是恩智浦公司于 2003 年开始推出的非常具有代表性的产品 ...

  5. 为什么我推荐你使用 systemd timer 替代 cronjob?

    概述 前几天在使用 Terraform + cloud-init 批量初始化我的实验室 Linux 机器.正好发现有一些定时场景需要使用到 cronjob, 进一步了解到 systemd timer ...

  6. 【算法数据结构专题】「延时队列算法」史上手把手教你针对层级时间轮(TimingWheel)实现延时队列的开发实战落地(上)

    承接上文 承接之前的[精华推荐 |[算法数据结构专题]「延时队列算法」史上非常详细分析和介绍如何通过时间轮(TimingWheel)实现延时队列的原理指南],让我们基本上已经知道了「时间轮算法」原理和 ...

  7. 统计模拟实验—R实现(蒲丰投针)

    统计模拟实验 统计模拟是数理统计.和计算机科学的结合,是一门综合性学科.在科学研究和生产实际的各个领域中,普遍存在着大量数据的分析处理工作.如何应用数理统计中的方法来解决实际问题,以及如何解决在应用中 ...

  8. pandas之分组操作

    在数据分析中,经常会遇到这样的情况:根据某一列(或多列)标签把数据划分为不同的组别,然后再对其进行数据分析.比如,某网站对注册用户的性别或者年龄等进行分组,从而研究出网站用户的画像(特点).在 Pan ...

  9. [Linux]常用命令之【tar/zip/unzip/gzip/gunzip】

    1 tar .tar与.gz有什么联系与区别? .tar 只是进行打包,并没有压缩. 则: 用tar-cvf进行打包 用tar-xvf进行解包. .tar.gz 是既打包又压缩 ,则: tar –cz ...

  10. [Chrome]插件的导出与导入[转载]

    1 文由 毕竟是在墙内,暂时又没有有效的FQ工具,换设备了,但需要使用原先旧设备下载的插件.只能出此下策liao~ 2 导出插件 step1 Chrome: 进入插件管理界面 Chrome: 更多工具 ...