赞
踩
全网最全的adb知识点
学习框架如下:
全称: Android debug bridge
安卓 调试 桥
ADB是我们用来操作(调试)android设备(比如android手机)的一套指令集。
adb client(本质adb shell):每打开一个adb shell的命令行窗口,就存在一个adb client客户端进程。
adb server:PC端和手机端交互的唯一接口。
adbd(adb daemon):每台安卓设备只能有一个adbd服务进程
------------------------ ** 环境配置**---------------------------
1.先连接设备
Android 模拟器种类
连接模拟器(mumu 为例)连接设备
windows系统:
adb connect 127.0.0.1:7555
mac系统:
adb kill-server
查看手机状态
adb devices
二选一
adb get-state
设备状态种类
adb 命令格式
adb [-d|-e|-s <serialNumber>]<command>
普通安装
adb install xxx.apk
覆盖安装/替代安装
adb install -r <apk路径>
卸载应用
adb uninstall 包名
adb devices
adb shell pm list packages
adb uninstall com.xxx.xxx
卸载应用(不删除配置文件,保存数据缓存信息)
adb uninstall -k 包名
1.打开命令行Windows+R,输入adb devices,查看设备是否连接;
2.输入adb shell pm list packages,查看设备已有的程序列表,找到需要卸载多大程序包名;
3,输入adb uninstall com.xxx.xxx(需要卸载的程序包名);
获取页面的两种方法
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名>
linux 系统内核,底层是Linux的操作系统吗,可以用Linux命令
直接进入手机内环境
exit 退出目录
查看目录结构 :adb shell ls
查看系统当前日期 :adb shell date
查看系统 CPU 使用情况 :adb shell cat /proc/cpuinfo
查看系统内存使用情况 :adb shell cat /proc/meminfo
显示所有应用 :adb shell pm list packages
显示系统自带应用 adb shell pm list packages -s
显示第 3 方应用 :
adb shell pm list packages -3
1.先进入内环境 adb shell
,cd /data/data 再输入ls ,显示所以包的目录
ls | grep <应用名>
cd 包名——> 再输入 ls
4 清除历史记录
adb shell pm clear <包名>
包名获取方法-----查看当前页面名
adb shell "dumpsys window |grep mCurrentFocus"
pm----packages manager
adb push
电脑路径 设备路径adb pull
设备路径 电脑路径notice:跳出android系统执行,否则提示无adb not found
adb logcat
运行如下
格式:
adb logcat --help
adb logcat [TAG:LEVEL ] [TAG:LEVEL ] ...
adb logcat -v time
adb logcat -v color
adb logcat -f <filename>
adb logcat >log.log
adb logcat -c
adb logcat -v tima "*:W"
adb logcat ActivityManager:D '*:S'
****************************** 查看问题
红框内是可以input的内容
adb shell tap x坐标 y坐标
adb shell input text <输入内容>
adb shell swipe <起点x> <起点y> <终点x> <终点y> <滑动时长>
模拟手机按键
》》》》》模拟机对于的keyevent值
adb shell dumpsys cpuinfo
展示均值性能,不是很准确
adb shell dumpsys meminfo
adb shell dumpsys meminfo <应用名>
应用名就是包名,如何获取包名可以在基础知识查看
adb shell top
会把当前的cup,内存等各种情况,实时打印性能情况
adb shell top |grep ”包名“ 查看某个包的一些性能指标
过滤不需要的指标,得到目标指标
adb shell top -d 1 |grep “包名"
每隔一秒打印指标可以 加 -d 1
实时打印性能情况
adb shell dumpsys battery
打印结果
adb shell dumpsys battery
Current Battery Service state:
AC powered: true
USB powered: false
Wireless powered: false
Max charging current: 2000000 # 最大充电电流; mA
status: 2 #电池状态:2:充电状态 ,其他数字为非充电状态
health: 2 #电池健康状态:只有数字2表示good
present: true #电池是否安装在机身
level: 81 #电量: 百分比
scale: 100
voltage: 4108 #电池电压
temperature: 353 #电池温度,单位是0.1摄氏度
technology: Li-poly #电池种类
》》》》》》》 官网介绍
Monkey 是 Google 提供的一个用于 稳定性与压力测试 的命令行工具
adb shell monkey [参数] {随机发送事件数}
对应的方法查询不同的值
1.在命令提示符中输入adb devices 查看有无连接的设备
2.确认有设备连接
3.获取 app 的包名(可以看adb基础如何获取报名)
执行命令:adb shell monkey [参数] {随机发送事件数}
一百下事件完成时间可能只要几秒,速度很快,时间数不要太少建议1000++
事件随机性很强,可能十多个进行。
adb shell monkey -v <事件数> //打印一级日志
adb shell monkey -vv <事件数> / /打印较详细日志
adb shell monkey -vvv <事件数>// 打印最全面日志
事件越大,需要时间就多,ctrl +c 停止进程
如果模拟器系统崩溃,就重启
adb shell 进入内环境
ps | grep 查看Linux进程,找到monkey 的包
kill 加上进程号,就会停止进程,在pc端无法停止,只能进入内环境
真实模拟用户点击事件
--throttle <milliseconds>:
每个事件结束后的间隔时间
adb shell monkey -p 包名 --throttle 时长(秒)
-s < 种子> :用于指定伪随机数生成器的seed(种子)值
可以复现上一次随机动作,设置相同的种子数,可以进行相同的序列,来复现进程,寻找一些问题
--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%会报错
可以把事件分配到那几个
--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
`
方式一:
adb shell monkey 1000> 文件路径/文件名
方式二:
adb logcat -v time '*E' > monkey.log
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。