【adb指令】

一、什么是adb

adb的全称为Android Debug Bridge,官方提供的用于操作安卓设备的工具。

二、adb用来干什么?

在电脑终端通过命令行:

  1. 打开收手机应用;
  2. 传输文件;
  3. 点击、输入、滑动等;
  4. 硬件操作、返回、回到首页;
  5. 输出性能指标

三、adb工作原理:

采用客户端-服务器模式(C/S模式),分为:

PC:
客户端:adb client
服务端:adb server

Target Machine:Device/Emulator
守护进程:adbd daemon
在这里插入图片描述

四、adb环境搭建:

adb命令零基础快速入门–深入理解掌握app自动化测试底层技术_哔哩哔哩_bilibili

java 1.8 :下载+配置环境变量

Android SDK :下载+配置环境变量

检查 adb 是否搭建成功adb shell

五、连接移动设备以及查看设备状态

WINDOWS:模拟器使用 adb connect [IP]
macOS 系统中连接模拟器不需要执行 connect 命令,直接执行:
adb kill-server && adb devices 命令即可。
真机插入USB数据线调整到调试模式,电脑端安装手机驱动,即可获取移动设备名:
adb devices
adb get-state

六、Adb命令格式:

adb [-d|-e|-s < serial Number>] < command>
-d 指定当前唯一通过USB连接安卓设备为命令目标
-e 指定当前唯一运行的模拟器为命令目标
-s [device名字 ]指定相应的设备为命令目标

七、安装

普通安装:adb install <apk路径>
覆盖安装:adb install -r <apk路径>
卸载:adb uninstall 包名
保留配置文件的卸载:adb uninstall - k < 包名>

八、adb启动页面

dumpsys 是一种在 Android 设备上运行的工具,它可提供有关系统服务的信息。我们可以在 adb 中使用命令行调用 dumpsys,用以获取链接的设备上运行的所有系统服务的信息。
package包:android应用唯一的标识
Activity:应用页面,一个页面就是一个activity

获取当前页面名: adb shell "dumpsys window | grep mCurrentFocus"adb shell dumpsys activity | grep mFocusedActivity
adb打开页面:adb shell am start -n <包名>/<activity名>
获取启动页面:adb logcat ActivityManager:I | findstr "cmp"
强制停止应用(App):adb shell am force-stop<包名>

adb uiautomator
adb 命令还支持直接获取 App 的页面信息。页面信息包含了页面中元素的属性,我们做自动化测试时,可以通过这些元素的属性去定位元素。获取到的页面元素布局会输出到一个 xml 文件中。
获取当前窗口的 UI 布局简化信息:adb shell uiautomator dump --compressed
不指定输出文件路径时,dump 输出的文件默认存储路径为/sdcard/window_dump.xml。
我们可以通过 adb pull /sdcard/window_dump.xml F:\Monkey命令把文件传输到计算机中,然后用 UI Automator Viewer 工具打开文件并查看页面布局。
指定输出文件路径:adb shell uiautomator dump file<设备路径>。

九、adb shell清理缓存

activity manger:am
package manger:pm

打开adb:adb shell
查看当前日期:adb shell date
查看目录结构:adb shell ls
窗口打印:adb shell cat 
查看当前CPU使用情况:adb shell cat /proc/cpuinfo
查看当前内存使用情况:adb shell cat /proc/meminfo查看手机应用:adb shell pm  list packages
查看系统自带应用:adb shell pm list packages -s
显示第三方应用:adb shell pm list packages -3
清除应用数据: adb shell pm clear [包名]
进入应用缓存数据位置:cd /data/data/[包名]

十、手机和电脑传输文件

adb push 电脑路径 手机路径
adb pull 手机路径 电脑路径
adb shell 可以进入到手机系统环境

十一、adb查看手机日志:adb logcat

日志的级别:
V-明细verbose(最低优先级)
D―调试debug
l一信息info
W-警告warn
E一错误error
F一严重错误fatal
S-无记载silent(最高优先级,绝不会输出任何内容)

adb查看手机日志:

adb logcat 打印默认日志数据
adb logcat -v time 打印时间
adb logcat -v color 使用不同颜色来显示每个优先级
adb logcat -f <filename> 将日志输出到文件
adb logcat> log.log/pc端文件路径    保存日志到电脑端
adb logcat -c 清理日志依据条件过滤日志:
查看日志帮助命令:adb logcat --help
adb logcat -v time "*:W" 打印warning以及以上级别的日志
adb logcat ActivityManger:D '*:S' 过滤tag为ActivityManger,level 为debug及以上级别的日志如果设置的过滤条件为日志级别的话,将会过滤出该等级以及该等级以上等级的日志:
adb logcat "*:W" 过滤日志级别为W以及以上的日志

十二、模拟按键操作

1、打开指针位置设置:开发者模式->输入-> 指针位置

2、adb shell input 命令

点击:adb shell input tap (x,y) //括号可省略
模拟输入:adb shell input text [文本](仅支持英文)
模拟页面的滑动事件:adb shell input swipe (x1,y1) (x2,y2) <滑动时长>
后面可以加时间,单位:毫秒

返回:adb shell input keyevent 4
Home主页:adb shell input keyevent 3
音量+:keyevent 24
音量-:keyevent 25
key值查询网站:
https://developer.android.com/reference/android/view/KeyEvent
https://developer.android.google.cn/reference/android/view/KeyEvent

KeyEvent常用键值
1、数字键:
KEYCODE_0 - KEYCODE_9
2、字母键:
KEYCODE_A - KEYCODE_Z
3、功能键:
KEYCODE_DEL(删除键),KEYCODE_ENTER(回车键),KEYCODE_ESCAPE(ESC键)
4、移动键:
KEYCODE_DPAD_UP(上键),KEYCODE_DPAD_DOWN(下键),KEYCODE_DPAD_LEFT(左键),KEYCODE_DPAD_RIGHT(右键),KEYCODE_DPAD_CENTER(中心键)
5、系统键:
KEYCODE_BACK(返回键),KEYCODE_HOME(Home键),KEYCODE_MENU(菜单键),KEYCODE_VOLUME_UP(音量加键),KEYCODE_VOLUME_DOWN(音量减键)

十三、Adb 获取性能指标:

查看当前CPU使用情况:adb shell dumpsys cpuinfo(均值)
查看当前系统内存使用情况:adb shell dumpsys meminfo
查看某个应用内存使用情况:adb shell dumpsys meminfo [应用包名] PS:如何获取参照前节

实时查看进程信息(进程号等,和linux是一样的):adb shell top (实时)
linux/Mac某个进程信息:adb shell top | grep [包名]
windows查看进程信息: adb shell top | findstr [包名]
top 后面可以加参数-d 1 表示每一秒打印一次:adb shell top -d 1 | grep <包名>

电池信息:adb shell dumpsys battery
在这里插入图片描述

性能相关的具体用法,官网:https://developer.android.com/docs

十四、设备截图/录屏

截图:adb shell screencap<设备路径>
录屏:adb shell screenrecord<设备路径>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/1508.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot04:JSR303数据校验及多环境切换

目录 一、JSR303数据校验 1、如何使用&#xff1f; 2、常见参数 二、多环境切换 1、多配置文件 2、yaml的多文档块 3、配置文件加载位置 一、JSR303数据校验 1、如何使用&#xff1f; SpringBoot中可以用Validated来校验数据&#xff0c;如果数据异常则会统一抛出异常…

php中的双引号与单引号的基本使用

字符串,在各类编程语言中都是一个非常重要的数据类型 网页当中的图片,文字,特殊符号,HTMl标签,英文等都属于字符串 PHP字符串变量用于存储并处理文本, 在创建字符串之后&#xff0c;我们就可以对它进行操作。我们可以直接在函数中使用字符串&#xff0c;或者把它存储在变量中 字…

第9章 异常处理

第9章 异常处理 9.1 Java异常处理 try-catch-finally ​ ​ 9.2 Scala异常处理 ​ ​ package chapter09object Test01_Exception {def main(args: Array[String]): Unit {try {val n 10 / 1} catch {case e: ArithmeticException > {println("发生算数异常&quo…

【MySQL数据库 | 第二十篇】explain执行计划

目录 前言&#xff1a; explain&#xff1a; 语法&#xff1a; 总结&#xff1a; 前言&#xff1a; 上一篇我们介绍了从时间角度分析MySQL语句执行效率的三大工具&#xff1a;SQL执行频率&#xff0c;慢日志查询&#xff0c;profile。但是这三个方法也只是在时间角度粗略的…

简要记录java 锁

Java中的锁机制主要分为Lock和Synchronized. Synchronized在JVM里的实现是基于进入和退出Monitor对象来实现方法同步和代码块同步的。monitorenter指令是在编译后插入到同步代码块的开始位置&#xff0c;而monitorexit是插入到方法结束处和异常处&#xff0c;JVM要保证每个mon…

java循环结构

Java中有三种主要的循环结构&#xff1a; while 循环do…while 循环for 循环 在Java5中引入了一种主要用于数组的增强型for循环。 1.while循环 语法&#xff1a; while(布尔表达式){ // 循环内容 } 复制 实例&#xff1a; public class Demo{ public static void main(S…

【数据库】MySQL 高级(进阶) SQL 语句

文章目录 前提条件一、常用查询1. SELECT&#xff08;显示查询&#xff09;2. DISTINCT&#xff08;不重复查询&#xff09;3. WHERE&#xff08;有条件查询&#xff09;4. AND/OR&#xff08;且/或&#xff09;5. IN &#xff08;显示已知值的字段&#xff09;6. BETWEEN&…

适合嵌入式开发的GUI(嵌入式学习)

嵌入式开发的GUI如何选择&#xff1f; 常见的嵌入式GUI开发方法轻量级GUI库优缺点 基于Web技术优缺点 Qt框架优缺点 原生开发优缺点 嵌入式系统的限制 常见的嵌入式GUI开发方法 嵌入式开发中的GUI&#xff08;图形用户界面&#xff09;是指在嵌入式系统中实现图形化的用户界面…

深度学习05-RNN循环神经网络

概述 循环神经网络&#xff08;Recurrent Neural Network&#xff0c;RNN&#xff09;是一种具有循环连接的神经网络结构&#xff0c;被广泛应用于自然语言处理、语音识别、时序数据分析等任务中。相较于传统神经网络&#xff0c;RNN的主要特点在于它可以处理序列数据&#xf…

【软件设计师暴击考点】下午题高频考点暴击系列

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 秩沅 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a;软件…

亚马逊测评:如何有效使用IP和养号设备环境

随着网络科技的崛起&#xff0c;越来越多的本土企业入驻亚马逊电子商务平台上&#xff0c;这导致了对产品评价需求的激增。然而&#xff0c;评价并非随意进行&#xff0c;它需要多方面的资源&#xff0c;并需要密切注意一些重要环节。以下是我分享给大家一些宝贵的知识&#xf…

TCP/IP 协议详解

文章目录 简介应用层传输层网络层网络接口层数据包发送过程TCP 三次握手四次挥手三次握手为什么是三次握手四次挥手为什么是四次挥手 简介 TCP/IP传输协议&#xff0c;即传输控制/网络协议&#xff0c;也叫作网络通讯协议。它是在网络的使用中的最基本的通信协议。 TCP/IP传输…