移动端 App 测试入门(3)----ADB命令

移动端 App 测试入门(3)----ADB命令

上期我们讲了ADB的基本介绍和环境配置,这期我们来介绍ADB的一些常用命令:

1. 常规命令

1.1 install(安装应用)

install命令用来安装应用:

adb install XXX.apk

发现报错了,这是因为我们同时连接了多台设备adb不知道要操作哪个设备,这时候需要使用-s参数指定要操作的设备:

除了-s参数还可以使用 -r参数来覆盖安装

adb install -r XXX.apk

1.2 uninstall(卸载应用)

adb uninstall <App包名>

卸载应用时我们要知道卸载应用的包名:

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

tv.danmaku.bili 就是包名

1.3 传输文件

#从手机拉取信息放到本地电脑上 adb pull <手机文件所在路径> <本机存放路径> #从本地电脑推送信息到手机上 adb push <本机路径> <手机路径>

注意,这里的0对应的是sdcard

1.4 获取日志

adb logcat | findstr <关键词>

Ctrl + C可以退出

2. adb shell命令

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

#进入 adb shell adb shell #退出 adb shell exit

在shell模式下可以使用linux命令查看文件:

2.1 pm 命令

# 列出手机所有安装应用包名 pm list packages # 过滤指定App pm list packages | grep <关键字> # 列出系统级别应用 pm list packages -s #列出第三方应用 pm list packages -3 # 查看应用安装路径 pm path 包名 # 获取应用的详细信息 pm dump <包名> # 清除应用的数据 pm clear <包名>

注意:上面命令要在adb shell模式下使用,或者在命令前面加上adb shell

2.2 am 命令

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

应用启动入口:可以理解为应用的启动程序

怎么找到启动入口:

1. 查看有关start的日志

adb logcat | findstr "start"

2. 手动点击启动应用

找到我们启动应用的日志,跟在包名后面的就是启动入口

使用命令启动:

2.3 input 命令

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

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

获取坐标:

我们在开发者选项中打开指针位置选项:

当我们点击/滑动时就会显示我们点击的位置:

adb shell input keyevent <按键事件> 命令中,按键事件是一个整数是,使用时我们需要查对照表:

Key Code Number Key Name 说明
0 KEYCODE_UNKNOWN
1 KEYCODE_MENU 菜单键
2 KEYCODE_SOFT_RIGHT
3 KEYCODE_HOME HOME键(起始键)
4 KEYCODE_BACK 返回键
5 KEYCODE_CALL 打开拨号应用
6 KEYCODE_ENDCALL 挂断电话
7 KEYCODE_0 按键0
8 KEYCODE_1 按键1
......

2.4 dumpsys 命令

或许系统服务信息

#获取cpu信息 adb shell dumpsys cpuinfo #获取内存信息 adb shell dumpsys meminfo #获取activity信息 adb shell dumpsys activity #获取package信息 adb shell dumpsys package <包名> #获取wifi信息 adb shell dumpsys wifi

2.5 其它命令

#截屏 adb shell screencap -p /sdcard/xx.png #录制视频,Ctrl + c 结束录制 adb shell screenrecord /sdcard/xx./mp4 #列出所有输入法ID adb shell ime list -s #设置输入法 adb shell ime set <输入法ID>