android adb shell and monkey 学习记录

Monkey环境:

    android SDK and JDK 

    SDK目录下的platform-tools和tools目录要配置环境变量

查看版本:

    ADB 的安装这里就不多说了,输入以下命令有如下提示就证明你环境ok,否则自行网上搜索解决下。

    > adb version

查看连接设备:

    输入以下命令可以查询已连接的设备与模拟器:

    > adb devices

查看appPackage 和 appActivity:

    设备运行程序

    > adb logcat > pathlog.txt

    log.txt中搜索关键字start proc ,关键字后边可以看到启动的进程appPackage 和 appActivity

安装一个apk,执行以下命令:

    > adb install <packagename>  #文件名过长、文件名有中文都有可能导致安装失败。

覆盖安装:

    > adb install -r /path/demo.apk

直接卸载

    > adb uninstall <packagename>

卸载 app 但保留数据和缓存文件:

    > adb uninstall -k <packagename>

Monkey事件类型:

    -s <seed>        #伪随机数生成器的种子值

    --throttle <毫秒数>        #在事件之间插入固定延迟

    --pct-touch <百分比>        #调整触摸事件的百分比

    --pct-motion <百分比>        #调整动作事件的百分比

    --pct-pinchzoom <百分比>        #调整二指缩放事件的百分比

    --pct-trackball <百分比>        #调整轨迹事件的百分比

    --pct-rotation <百分比>        #调整屏幕旋转事件的百分比

    --pct-nav <百分比>        #调整‘基本’导航事件的百分比

    --pct-majornav <百分比>        #调整‘主要’导航事件的百分比

    --pct-syskeys <百分比>        #调整‘系统’按键事件的百分比

    --pct-appswith <百分比>        #调整启动Activity的百分比

    --pct-flip <百分比>            #调整键盘事件的百分比

    --pct-anyevent <百分比>        #调整其他类型时间的百分比

Monkey约束限制类参数:

    -p <包名>            #指定一个包或多个包,每个-p只能用于一个包

    -c <类别名>            #指定一个或几个类别,每个-c只能用于一个类别

命令:

    PC启动:

        > adb shell monkey [options] <count>

    Shell端启动:

        > adb shell

        > monkey [options] <count>

        两者区别是,PC端启动运行日志可以保存到PC上,Shell端启动运行日志保存到手机里。

    杀手机Monkey进程:

        > adb shell ps |grep monkey                #获取packagename的进程ID

        > adb shell kill pid

    启动/停止 Server

        一般来说,下面两个命令基本不会用到,因为只要设备连接正确,会自动启动 adb server 的,不过大家也需要知道这俩命令:

    启动 adb server :

        > adb start-server

    停止 adb server :

        > adb kill-server

    列出手机装的所有app的包名:

        > adb shell pm list packages

    列出系统应用的所有包名:

        > adb shell pm list packages -s

    列出除了系统应用的第三方应用包名:

        > adb shell pm list packages -3

    使用 grep 来过滤:

        > adb shell pm list packages | grep qq

    清除应用数据与缓存

        > adb shell pm clear <packagename>

    强制停止应用

        > adb shell am force-stop <packagename>

    获取logcat日志信息:

        > adb logcat

        > adb logcat -d > 路径文件名.txt        #一定时间内的log输出到文件里

    获取内存信息:

        > adb shell dumpsys meminfo <进程名>

    获取CPU消耗信息:

        > adb shell top -n 1 |find "进程名"

    获取电量信息:

        > adb shell dumpsys battery

    获取GPU信息:

        > adb shell dumpsys gfxinfo <进程名>

    查看被测应用的进程ID:

        > adb shell ps |grep <packagename>

    查看被测应用的用户ID:

        > adb shell cat /proc/$pid/status

    获取流量信息:

        > adb shell cat/proc/uid_stat/<被测应用的uid>/tcp_rcv

    重启

        > adb reboot

    获取序列号

        > adb get-serialno

    获取 MAC 地址

        > adb shell  cat /sys/class/net/wlan0/address

    查看设备型号

        > adb shell getprop ro.product.model

    查看 Android 系统版本

        > adb shell getprop ro.build.version.release

    查看屏幕分辨率

        > adb shell wm size

    查看屏幕密度

        > adb shell wm density

    Monkey日志保存到PC中:

        > adb shell monkey [option] <count> >d:monkey.txt

    Monkey日志保存到手机:

        > adb shell

        >monkey [option] <count> > /mnt/sdcard/monkey.txt

    Monkey日志标注流与错误流分开保存:

        > monkey [option] <count> 1>/sdcard/monkey.txt 2>/sdcard/error.txt

    上传脚本和jar包到手机:

        > adb push Monkey.jar /data

        > adb push monkey /data

        > adb shell chmod777 /data/monkey

原文地址:https://www.cnblogs.com/medivhxu/p/6856791.html