adb基本操作及环境配置
adb基本操作及环境配置
- 前言
- 一、adb基础
- 1.adb是什么?
- 2. 环境搭建
- 3.连接手机设备及查看设备状态(先连接设备)
- 4.adb命令格式_安装卸载包
- 1. 安装
- 2. 卸载
- 5. adb启动页面
- 6. 使用 adb shell 命令清缓存
- 1.理解Android系统
- 2.adb shell 应用
- 3. adb shell 应用 - 查看应用列表
- 4.清除应用数据及缓存
- 二、 adb进阶
- 1.Android 设备与电脑传输文件
- 2.使用adb查看手机日志
- 1).默认打印日志
- 2). 查看日志常用的参数
- 3).打印时间
- 3.) 使用不同的颜色来显示每个优先级
- 4)将日志输出到文件
- 5) 保存日志到pc上
- 5.)清理已存在的日志
- 4.根据条件过滤日志
- 1)打印warning及以上级别的日志
- 2) 过滤tag 为 ActivityManager,level为Debug及以上级别的日志
- 5.常见问题
- 6.adb 模拟按键格式
- 1、打开【指针位置】设置
- 2、执行adb shell input 命令
- 7.adb 查看性能指标
- 1.CPU 使用情况
- 2.内存使用情况
- 8.top 命令
- 9.电池电量
- 9.性能相关的具体用法
- 三.monkey 测试
- 1.什么是monkey
- 2.为什么要做压力测试
- 3.monkey 命令格式
- 4.基本用法
- 1.Monkey 命令- 添加事件数
- 2.monkey 打印详细日志
- 3.monkey 测试停止条件
- 4.monkey 运行某个包
- 5.指定事件时间间隔
- 6.设置种子数
- 7.设置事件比例
- 8.忽略异常
- 9.保存日志
- 总结
- 都学到这啦 ,原创不易~~希望你喜欢,可以一键三连支持一下
前言
全网最全的adb知识点
学习框架如下:
提示:以下是本篇文章正文内容,下面案例可供参考
一、adb基础
1.adb是什么?
全称: Android debug bridge
安卓 调试 桥
ADB是我们用来操作(调试)android设备(比如android手机)的一套指令集。
adb client(本质adb shell):每打开一个adb shell的命令行窗口,就存在一个adb client客户端进程。
adb server:PC端和手机端交互的唯一接口。
adbd(adb daemon):每台安卓设备只能有一个adbd服务进程
2. 环境搭建
------------------------ ** 环境配置**---------------------------
3.连接手机设备及查看设备状态(先连接设备)
1.先连接设备
- 模拟器
- 真机
Android 模拟器种类
- Android Studio emulator(官方)
- genymotion(信赖网络)
- mumu,雷电,夜神,逍遥等第三方模拟器(推荐)
连接模拟器(mumu 为例)连接设备
windows系统:
adb connect 127.0.0.1:7555
mac系统:
adb kill-server
查看手机状态
adb devices
二选一
adb get-state
设备状态种类
- device 正常
- offline 连接出现异常,设备无响应
- unauthorized 未授权
4.adb命令格式_安装卸载包
adb 命令格式
- 格式 :
adb [-d|-e|-s <serialNumber>]<command>
- -d 指定当前唯一通过 Usb 连接的 android 设备为命令目标(了解)
- -e 指定当前唯一运行的模拟器为命令目标(了解)
- -s 指定相应的设备为命令目标(重点)
1. 安装
普通安装
adb install xxx.apk
覆盖安装/替代安装
adb install -r <apk路径>
2. 卸载
卸载应用
adb uninstall 包名
adb devicesadb shell pm list packagesadb uninstall com.xxx.xxx
卸载应用(不删除配置文件,保存数据缓存信息)
adb uninstall -k 包名
1.打开命令行Windows+R,输入adb devices,查看设备是否连接;
2.输入adb shell pm list packages,查看设备已有的程序列表,找到需要卸载多大程序包名;
3,输入adb uninstall com.xxx.xxx(需要卸载的程序包名);
5. adb启动页面
- package 包:是 Android 应用的唯一标志
- Activity 活动页: Android 应用页面,一个页面就是一个 Activity
获取页面的两种方法
1. 获取当前的页面名
1——打开手机或者模拟器的应用的某个页面
2——打开命令行工具:执行命令:
adb shell "dumpsys window | grep mCurrentFocus"
- 以mumu的模拟器为例:获取到包和activity后,关掉qq
- 然后
输入 adb shell am start -n 加上红色框的代码就可以启动应用程序
2.获取启动页面的 activity
命令:
mac:adb logcat ActivityManager:I | grep "cmp"
win: adb logcat ActivityManager:I | findstr "cmp"
1.直接找到包和activity (复制cmp=后面的内容)
2.然后adb shell am start -n <包名>/<avticity名>
,即可启动应用程序
最终启动页面
命令:
adb shell am start -n <包名>/<avticity名>
6. 使用 adb shell 命令清缓存
1.理解Android系统
linux 系统内核,底层是Linux的操作系统吗,可以用Linux命令
2.adb shell 应用
直接进入手机内环境
exit 退出目录
查看目录结构 :adb shell ls
查看系统当前日期 :adb shell date
查看系统 CPU 使用情况 :adb shell cat /proc/cpuinfo
查看系统内存使用情况 :adb shell cat /proc/meminfo
3. adb shell 应用 - 查看应用列表
显示所有应用 :adb shell pm list packages
显示系统自带应用 adb shell pm list packages -s
显示第 3 方应用 :
adb shell pm list packages -3
4.清除应用数据及缓存
1.先进入内环境 adb shell
,cd /data/data 再输入ls ,显示所以包的目录
- 再输入
ls | grep <应用名>
3cd 包名——> 再输入 ls
4 清除历史记录
adb shell pm clear <包名>
包名获取方法-----查看当前页面名
adb shell "dumpsys window |grep mCurrentFocus"
pm----packages manager
二、 adb进阶
1.Android 设备与电脑传输文件
adb push
电脑路径 设备路径adb pull
设备路径 电脑路径
notice:跳出android系统执行,否则提示无adb not found
2.使用adb查看手机日志
1).默认打印日志
adb logcat
运行如下
2). 查看日志常用的参数
格式:
adb logcat --help
adb logcat [TAG:LEVEL ] [TAG:LEVEL ] ...
3).打印时间
adb logcat -v time
3.) 使用不同的颜色来显示每个优先级
adb logcat -v color
4)将日志输出到文件
adb logcat -f <filename>
5) 保存日志到pc上
adb logcat >log.log
5.)清理已存在的日志
adb logcat -c
4.根据条件过滤日志
1)打印warning及以上级别的日志
adb logcat -v tima "*:W"
2) 过滤tag 为 ActivityManager,level为Debug及以上级别的日志
adb logcat ActivityManager:D '*:S'
5.常见问题
****************************** 查看问题
6.adb 模拟按键格式
1、打开【指针位置】设置
2、执行adb shell input 命令
红框内是可以input的内容
adb shell tap x坐标 y坐标
adb shell input text <输入内容>
adb shell swipe <起点x> <起点y> <终点x> <终点y> <滑动时长>
模拟手机按键
》》》》》模拟机对于的keyevent值
- 返回键:adb shell input keyevent 4
- Home键:adb shell input keyevent 3(置应用于后台运行)
- 音量放大:adb shell input keyevent 24
- 音量缩小:adb shell input keyevent 25
7.adb 查看性能指标
1.CPU 使用情况
- 查看当前系统 CPU 使用情况:
adb shell dumpsys cpuinfo
2.内存使用情况
展示均值性能,不是很准确
- 查看当前系统的内存:
adb shell dumpsys meminfo
- 查看某个应用的内存:
adb shell dumpsys meminfo <应用名>
应用名就是包名,如何获取包名可以在基础知识查看
8.top 命令
adb shell top
会把当前的cup,内存等各种情况,实时打印性能情况
adb shell top |grep ”包名“ 查看某个包的一些性能指标
过滤不需要的指标,得到目标指标
adb shell top -d 1 |grep “包名"
每隔一秒打印指标可以 加 -d 1
实时打印性能情况
9.电池电量
adb shell dumpsys battery
打印结果
adb shell dumpsys batteryCurrent Battery Service state:AC powered: trueUSB powered: falseWireless powered: falseMax charging current: 2000000 # 最大充电电流; mAstatus: 2 #电池状态:2:充电状态 ,其他数字为非充电状态 health: 2 #电池健康状态:只有数字2表示goodpresent: true #电池是否安装在机身level: 81 #电量: 百分比scale: 100voltage: 4108 #电池电压temperature: 353 #电池温度,单位是0.1摄氏度technology: Li-poly #电池种类
9.性能相关的具体用法
》》》》》》》 官网介绍
三.monkey 测试
1.什么是monkey
Monkey 是 Google 提供的一个用于 稳定性与压力测试 的命令行工具
2.为什么要做压力测试
- 随机性
- 完整性
- 持续性
3.monkey 命令格式
adb shell monkey [参数] {随机发送事件数}
对应的方法查询不同的值
4.基本用法
1.Monkey 命令- 添加事件数
1.在命令提示符中输入adb devices 查看有无连接的设备
2.确认有设备连接
3.获取 app 的包名(可以看adb基础如何获取报名)
执行命令:adb shell monkey [参数] {随机发送事件数}
一百下事件完成时间可能只要几秒,速度很快,时间数不要太少建议1000++
事件随机性很强,可能十多个进行。
2.monkey 打印详细日志
adb shell monkey -v <事件数> //打印一级日志
adb shell monkey -vv <事件数> / /打印较详细日志
adb shell monkey -vvv <事件数>// 打印最全面日志
事件越大,需要时间就多,ctrl +c 停止进程
3.monkey 测试停止条件
- 1、指令执行完成
- 2、遇到崩溃,或者异常
- 3、杀掉进程
如果模拟器系统崩溃,就重启
adb shell 进入内环境
ps | grep 查看Linux进程,找到monkey 的包
kill 加上进程号,就会停止进程,在pc端无法停止,只能进入内环境
4.monkey 运行某个包
- 指定一个包 adb shell monkey -p 包名 [数件数]
- 指定多个包 adb shell monkey -p 包名 -p 包名 [事件数],多个程序会来回切换
5.指定事件时间间隔
真实模拟用户点击事件
--throttle <milliseconds>:
每个事件结束后的间隔时间
adb shell monkey -p 包名 --throttle 时长(秒)
6.设置种子数
-s < 种子> :用于指定伪随机数生成器的seed(种子)值
可以复现上一次随机动作,设置相同的种子数,可以进行相同的序列,来复现进程,寻找一些问题
7.设置事件比例
--pct-touch:触摸事件 ( 设定点击事件百分比)
--pct-motion :滑动事件(设定动作事件百分比 )
--pct-trackball :轨迹球事件( 设定轨迹球事件百分比 )
--pct-nav :导航事件( 设定基本导航事件百分比,比如输入设备上、下、左、右键 )
--pct-majornav:主要导航事件( 设定主要导航事件百分比,比如中间键、返回键、菜单键 )
--pct-syskeys:系统按键事件( 设定系统导航事件百分比,比如HOME键、BACK建、拨号键及音量键 )
--pct-appswitch:activity之间的切换( 设定启动Activity事件百分比)
--pct-pinchzoom:缩放事件
--pct-rotation:屏幕旋转事件
--pct-flip:键盘事件
--pct-anyevent :任意事件 (设定不常用事件百分比)
如果不设置的话,系统会自动默认设定
事件超过100%会报错
可以把事件分配到那几个
8.忽略异常
--ignore-crashes:忽略崩溃
--ignore-timeouts:忽略超时
--ignore-security-exceptions:忽略安全异常
--kill-process-after-error:发生错误后直接杀掉进程
--dbg-no-events:初始化启动的activity,但是不产生任何事件
--hprof:指定该项后在事件序列发送前后会立即生成分析报告
--monitor-native-crashes:跟踪本地方法的崩溃问题
--wait-dbg:直到连接了调试器才执行monkey测试
–bugreport:当ANR,系统无响应,Crash的时候获得bugreport
9.保存日志
`
方式一:
adb shell monkey 1000> 文件路径/文件名
方式二:
adb logcat -v time '*E' > monkey.log
总结
adb基础和进阶内容就到这啦,实战内容待更新
都学到这啦 ,原创不易~~希望你喜欢,可以一键三连支持一下
adb基本操作及环境配置相关推荐
- mysql服务的基本操作_MySql(一)mysql服务的基本操作及环境配置
MySQL服务的启动 开始–>计算机–>右键选择管理–>双击打开服务和应用程序–>双击服务–>找到MySQL的服务名称(我的是MySQL56),右键选择启动即可 通过命令 ...
- 配置ADB到Windows环境变量
adb 命令可以帮我们快速的管理连接的手机设备,例如执行一些安装apk,卸载apk命令,对于熟悉linux系统的人,可以方便的管理手机目录操作手机文件,还可以通过adb命令查看手机的系统日志等操作. ...
- android 环境配置和安装, Android系统包说明,基本控件,常用代码,ADB 命令行,APK文件确解,小技艺,...
一. 环境配置和安装(Android2.2) 参考文章:这里 1.1 JDK 1.2 SDK 下载地址:http://dl.google.com/android ...
- eclipse环境配置、快捷键及基本操作
Eclipse与MyEclipse的区别 Elipse是一种可扩展的开放源代码的集成开发环境,具有免费.纯java语言编写.免安装.扩展性强等特点. MyElipse在Elipse基础上追加的功能性插 ...
- adb的安装及环境配置
一.adb的下载 下载地址:http://pan.baidu.com/s/1mgGkNZM 二.环境配置 1.添加系统变量 我的电脑-属性-高级系统设置-环境变量-系统变量 path路径+(英文环境下 ...
- Android环境配置及adb不是内部命令的解决办法
Android环境配置及adb不是内部命令的解决办法 听语音 | 浏览:12378 | 更新:2016-03-03 15:44 | 标签:ANDROID JDK ECLIPSE 1 2 3 4 5 6 ...
- ADB Logcat 工具使用环境配置
ADB & Logcat 工具使用环境配置 注:鉴于国外网站,很多同学可能打不开,给出国内的下载连接 http://www.androiddevtools.cn/ 下载 Android SDK ...
- 环境配置【jdk-sdk】-开始adb新玩法
每天陪伴我们的手机,你真的了解"她"吗...? 你知道"她"还有许多隐藏玩法嘛...接下来让我们一起开始看看新的玩法吧 亮相吧,小宝贝儿-[adb] 1,什么是 ...
- python环境设置_CentOS 7.2环境搭建实录(第四章:python环境配置)
第四章:python环境配置 使用环境工具 python 环境工具 python 2.7.5 # python2版本,系统自带 pip 9.0.1 # python2版本的pip,python工具集, ...
最新文章
- 【Spring】面向切面编程AOP
- 怎么安装MYSQL5.0的JDBC驱动
- python3中多项式创建_机器学习入门之机器学习之路:python 多项式特征生成PolynomialFeatures 欠拟合与过拟合...
- 数码管和573锁存器的细节问题
- 在运行时在Spring Cloud Config中刷新属性配置
- 智力题:64匹马8个跑道,至少需要多少轮才能挑选出最快的4匹马
- Solve one floodlight install problem
- 使用nodejs进行WEB开发
- 唏嘘!暴风影音官网、APP挂掉,办公地人去楼空,官方心酸回应...
- java new 新对象_java基础(五)-----new一个对象的具体过程
- DiscuzX模板制作-主题列表页_左边栏制作_V1
- 极坐标潮流计算matlab,基于Matlab矩阵运算的潮流计算导纳矩阵计算方法与流程
- win7查找自己的计算机密码忘记了怎么办,如果我忘记了win7计算机的启动密码,该怎么办...
- 【Word】如何生成左侧的索引目录
- FreeSWITCH 呼叫两个座机并互联(ESL实现)
- SQL22 统计各个部门的工资记录数
- c语言中取小数函数,C / C++ 保留小数函数(setprecision(n)的一些用法总结)
- Win7 设置任务栏自动隐藏后,偶尔不能自动隐藏?
- 迷宫系列(四)其他细节和DFS的实际应用(重要)
- spark shuffle(ExchangeExec)过多导致任务运行过慢甚至超时