移动端测试——adb命令
创始人
2024-04-02 16:06:28
0

adb命令

adb (Android Debug Bridge)是 Android SDK 的一个工具,可以通过它来操作Android 设备,是Android App 客户端测试必备的工具。

具有安装卸载应用、拷贝推送文件、查看应用程序占用资源、执行shell命令等功能

配置 Android SDK 环境

Android SDK提供了构建Android app应用程序所需的API库和开发工具,用于测试和调试应用程序。

Android SDK 是基于 Java的,需要安装JDK

adb 连接 Android 设备

模拟器
以夜神模拟器为例:
1. 将Android SDK中的adb.exe替换到夜神模拟器的bin目录下的adb.exe
2. nox_adb.exe也需要替换

真机

不同品牌、型号的手机存在一些差异,大体方式是:
1. 通过USB线连接上PC端
2. 进入手机→设置→关于手机→连续点击5下版本号,打开开发者模式选项
3. 进入开发者选项,勾选USB调试选项,允许调试弹窗选择【是】
4. 勾选【一律允许使用该台计算机进行调试】选项
(具体手机打开开发者模式的方式可自行百度查看)

adb 命令

查看帮助手册

adb help

检测连接到电脑的安卓设备

adb devices

终止/启动adb服务

adb kill-serveradb start-server

安装应用

adb install # 覆盖安装
adb install -r 

卸载应用

adb uninstall # 获取前台运行应用的包名, Windows系统使用 findstr 过滤关键字, Mac/Linux系统使用 grep 过滤关键字
# Android v7.0以下
adb shell dumpsys activity | findstr "mFocusedActivity"# Android v7.0以上
adb shell dumpsys activity | findstr "mResumedActivity"

传输文件

# 从手机中拉取信息放到本地电脑上
adb pull <拉取文件所在的手机路径> <本机路径>注意:拉取系统权限的目录下的文件,需要root权限# 从本地推送信息到手机上去
adb push <本机路径> <手机路径>

远程连接设备

adb tcpip 5555
adb connect <设备IP地址>:5555
adb disconnect <设备IP地址>:5555

获取日志

adb logcat# Windows系统使用 findstr 过滤关键字, Mac/Linux系统使用 grep 过滤关键字
adb logcat | findstr "xxx"
adb logcat | grep "xxx"

adb shell 命令

与adb命令的区别:adb命令是adb程序自带的一些参数完成不同的功能,而adb shell 是通过调用Android系统中的命令,这些命令存放于Android系统的 /system/bin 目录下。

登录设备shell模式adb shell

包管理

pm (package manager)是Android系统的内置命令,可以获取Android上的应用程序信息

# 列出所有应用的包名
adb shell pm list packages# 列出系统级别的应用
adb shell pm list packages -s# 列出第三方应用
adb shell pm list packages -3# 列出对于应用的安装路径
adb shell pm path <应用包名># 获取应用的详细信息
adb shell pm dump <应用包名># 清除应用的数据
adb shell pm clear <应用包名>

应用活动管理

am (activity manager),这个命令可以启动 Activity、打开或关闭进程

# 启动应用
adb shell am start -n <应用包名>/<应用启动入口># 停止目标应用,再启动
adb shell am start -S <应用包名>/<应用启动入口># 启动应用,并且等待应用完成启动
adb shell am start -w <应用包名>/<应用启动入口># 强制停止应用
adb shell am force-stop <应用包名>

按键事件

通过该命令可以向Android设备发送按键事件

# 向输入框输入文本内容(不支持中文)
adb shell input text <文本内容># 发送按键事件操作
adb shell input keyevent <按键事件># 发送触摸事件
adb shell input tap  # 发送滑动事件
adb shell input swipe <起始点x轴坐标> <起始点y轴坐标> <终止点x轴坐标> <终止点y轴坐标>

截屏/录屏

# 截屏
adb shell screencap -p /sdcard/xx.png# 录制视频,ctrl+c 组合键结束录制操作
adb shell screenrecord /sdcard/xx.mp4

设置输入法

# 列出所有输入法
adb shell ime list -s# 设置输入法
adb shell ime set <输入法包名>

获取系统服务信息

# 获取CPU信息
adb shell dumpsys cpuinfo# 获取内容信息
adb shell dumpsys meminfo# 获取activity信息
adb shell dumpsys activity# 获取package信息
adb shell dumpsys package <应用包名># 获取wifi信息
adb shell dumpsys wifi

相关内容

热门资讯

前端-session、jwt 目录:   (1)session (2&#x...
linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
关于测试,我发现了哪些新大陆 关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
前缀和与对数器与二分法 1. 前缀和 假设有一个数组,我们想大量频繁的去访问L到R这个区间的和,...
nodejs:本地安装nvm实... 一、背景-使用不同版本node的原因 vue3+ts、nuxt3版本,node...
JAVA集合知识整理 Java集合知识整理 HashMap相关 HashMap的底层数据结构:jdk1.8之...
无刷直流电机介绍及单片机控制实... 无刷直流电机介绍及单片机控制实例前言基本概念优势与劣势使用寿命基本结构使用单片机控制实例电子调速器&...
fwdiary(2) dp2 1.传纸条  AcWing 275. 传纸条 - AcWing 走两条路,走一条最大的...
常用的DOS命令 常用的DOS命令 DOS(Disk Operating System,磁...
<C++> 类和对象(下) 1.const成员函数将const修饰的“成员函数”称之为const成员函数,cons...