干过移动端测试的同学,应该对adb都不陌生
adb 是安卓调试桥,用于电脑端与安卓模拟器或安卓真实设备交互。
那我们来做个挑战吧,下面是常用的adb命令,看谁能在5分钟之内背得多!
常用adb命令:
指定相应的seriaNum号的设备去执行adb 命令
adb -s <seriaNum> command
获取连接状态
adb devices
# device 已经连上
# offline 未连接成功或者无响应
# no device 没有设备/模拟器连接
# unauthorized 手机没有信任
启动 adb 服务
adb start-server
停止 adb 服务
adb kill-server
查看 adb 版本
adb version
进入 adb 命令行
adb shell
通过 ip 地址连接设备
adb connect <device-ip>
安装apk
adb install xxx.apk
覆盖安装apk
adb install -r xxx.apk
卸载应用,-k 保留数据和缓存
adb uninstall [-k] <packageName>
查看端上日志
adb logcat | grep xxx
清空日志
adb logcat -c
查看warning日志,并且输出时间戳
adb logcat -v time *:W
获取系统属性
adb shell getprop
查看设备型号
adb shell getprop ro.product.model
查看安卓系统版本
adb shell getprop ro.build.version.release
查看屏幕分辨率
adb shell wm size
查看连过的wifi密码
adb shell; su; cat /data/misc/wifi/*.conf
查看进程
adb shell ps
杀死进程
adb kill 'pid'
重启手机
adb reboot
pm 命令
查看所有的应用程序
adb shell pm list packages
只显示系统应用程序
adb shell pm list packages -s
只显示第三方应用程序
adb shell pm list packages -3
清楚应用程序缓存数据
adb shell pm clear <packageName>
am 命令
查看前台控件
adb shell dumpsys activity activites | [findstr|grep] mFocusedActivity
调起一个activity
adb shell am start -n activityName
强制停止应用
adb shell am force-stop <packageName>
启动一个页面
adb shell am start -d scheme adb
文件管理
复制文件到电脑
adb pull <设备里的文件路径> [电脑的文件路径]
复制文件到设备
adb push <电脑里的文件路径> [设备里的目录]
按键操作
执行按键操作
adb shell input keyevent <eventNum>
屏幕截屏,-p 表示以png格式输出
adb shell screencap -p /sdcard/sc.png
屏幕录制
adb shell screenrecord /sdcard/filename.mp4
monkey
执行原生Monkey
adb shell monkey -p <packageName> -v 500 > monkey.log
# -p 包名,
# -v 最高警告的错误日志才输出,
# 500 执行500次
# 日志重定向到monkey.log
monkey 参数:
-p 包名
-s 设置种子
--ignore-crashes 出现 crash 继续执行
--ignore-timeouts 出现 anr 继续执行
--pct-touch <rateNum> 触摸事件占比(手指放下,抬起)
--pct-motion <rateNum> 动作事件占比(手指放下,移动,抬起)
–pct-trackball <rateNum> 轨迹球事件占比(单纯的move)
–pct-nav <rateNum> 基本导航事件,用于方向输入设备的上下左右操作
–pct-syskeys <rateNum> 系统按键事件。
–pct-appswitch <rateNum> 应用启动事件
–pct-anyevent <rateNum> 其他未提及事件