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"
  1. 以mumu的模拟器为例:获取到包和activity后,关掉qq
  2. 然后 输入 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 shellcd /data/data 再输入ls ,显示所以包的目录

  1. 再输入ls | grep <应用名>

    3 cd 包名——> 再输入 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基本操作及环境配置相关推荐

  1. mysql服务的基本操作_MySql(一)mysql服务的基本操作及环境配置

    MySQL服务的启动 开始–>计算机–>右键选择管理–>双击打开服务和应用程序–>双击服务–>找到MySQL的服务名称(我的是MySQL56),右键选择启动即可 通过命令 ...

  2. 配置ADB到Windows环境变量

    adb 命令可以帮我们快速的管理连接的手机设备,例如执行一些安装apk,卸载apk命令,对于熟悉linux系统的人,可以方便的管理手机目录操作手机文件,还可以通过adb命令查看手机的系统日志等操作. ...

  3. android 环境配置和安装, Android系统包说明,基本控件,常用代码,ADB 命令行,APK文件确解,小技艺,...

    一.             环境配置和安装(Android2.2) 参考文章:这里 1.1     JDK 1.2     SDK 下载地址:http://dl.google.com/android ...

  4. eclipse环境配置、快捷键及基本操作

    Eclipse与MyEclipse的区别 Elipse是一种可扩展的开放源代码的集成开发环境,具有免费.纯java语言编写.免安装.扩展性强等特点. MyElipse在Elipse基础上追加的功能性插 ...

  5. adb的安装及环境配置

    一.adb的下载 下载地址:http://pan.baidu.com/s/1mgGkNZM 二.环境配置 1.添加系统变量 我的电脑-属性-高级系统设置-环境变量-系统变量 path路径+(英文环境下 ...

  6. Android环境配置及adb不是内部命令的解决办法

    Android环境配置及adb不是内部命令的解决办法 听语音 | 浏览:12378 | 更新:2016-03-03 15:44 | 标签:ANDROID JDK ECLIPSE 1 2 3 4 5 6 ...

  7. ADB Logcat 工具使用环境配置

    ADB & Logcat 工具使用环境配置 注:鉴于国外网站,很多同学可能打不开,给出国内的下载连接 http://www.androiddevtools.cn/ 下载 Android SDK ...

  8. 环境配置【jdk-sdk】-开始adb新玩法

    每天陪伴我们的手机,你真的了解"她"吗...? 你知道"她"还有许多隐藏玩法嘛...接下来让我们一起开始看看新的玩法吧 亮相吧,小宝贝儿-[adb] 1,什么是 ...

  9. python环境设置_CentOS 7.2环境搭建实录(第四章:python环境配置)

    第四章:python环境配置 使用环境工具 python 环境工具 python 2.7.5 # python2版本,系统自带 pip 9.0.1 # python2版本的pip,python工具集, ...

最新文章

  1. 【Spring】面向切面编程AOP
  2. 怎么安装MYSQL5.0的JDBC驱动
  3. python3中多项式创建_机器学习入门之机器学习之路:python 多项式特征生成PolynomialFeatures 欠拟合与过拟合...
  4. 数码管和573锁存器的细节问题
  5. 在运行时在Spring Cloud Config中刷新属性配置
  6. 智力题:64匹马8个跑道,至少需要多少轮才能挑选出最快的4匹马
  7. Solve one floodlight install problem
  8. 使用nodejs进行WEB开发
  9. 唏嘘!暴风影音官网、APP挂掉,办公地人去楼空,官方心酸回应...
  10. java new 新对象_java基础(五)-----new一个对象的具体过程
  11. DiscuzX模板制作-主题列表页_左边栏制作_V1
  12. 极坐标潮流计算matlab,基于Matlab矩阵运算的潮流计算导纳矩阵计算方法与流程
  13. win7查找自己的计算机密码忘记了怎么办,如果我忘记了win7计算机的启动密码,该怎么办...
  14. 【Word】如何生成左侧的索引目录
  15. FreeSWITCH 呼叫两个座机并互联(ESL实现)
  16. SQL22 统计各个部门的工资记录数
  17. c语言中取小数函数,C / C++ 保留小数函数(setprecision(n)的一些用法总结)
  18. Win7 设置任务栏自动隐藏后,偶尔不能自动隐藏?
  19. 迷宫系列(四)其他细节和DFS的实际应用(重要)
  20. spark shuffle(ExchangeExec)过多导致任务运行过慢甚至超时

热门文章

  1. 微信局域网测试环境搭建方法
  2. python中使用什么表示代码块、不需要使用大括号_Python3 基础语法
  3. 从文本进度条开始:谈谈自己缺失的Python基础知识
  4. 京东探索研究院NLP水平超越微软 织女Vega v1模型位居GLUE榜首
  5. 朱棣文先生在哈佛大学毕业典礼上的演讲
  6. excel高级功能-分级显示
  7. 原创,PHP简单的查询火车时刻表程序
  8. AWS Lambda函数实战
  9. 证照之星2022个人版证件照编辑排版换背景软件
  10. 【学术相关】交大博士学长:研究生计算机专业的方向选择!