如果作为移动端的测试人员而言,需要掌握基本的adb命令。
基础命令:
adb devices 查看连接的设备 手机授权后 ,状态unauthorized更改为device
adb devices -l 查找所有设备并显示product、model、device、transport_id等信息
adb install apk具体路径 (apk存放在pc)
adb -r install apk具体路径 (apk存放在pc)覆盖安装
adb shell getprop ro.build.version.release 查看Android的版本信息
adb shell pm list packages -s 列出所有应用包名
adb shell pm list packages -3 列出所有第三方应用包名
adb shell pm clear com.vipcashback.android 清除应用的缓存数据 (com.vipcashback.android是包名)
日志:
adb logcat *:W 显示所有优先级大于warning的日志
adb logcat -d -v *:W> logcat.txt 输出logcat日志到logcat.txt
adb logcat | grep 应用PID 实时输出指定应用的日志
adb logcat -c 清除历史日志记录
adb logcat -d -v --pid=XXX *:W> logcat.txt 输出指定应用的waring日志
adb logcat App:D *:S 过滤输出tag为APP的日志记录(需运行应用)某种情况下,同一台设备的GoogleAdId会改变
adb shell am monitor 启动一个Crash和ANR的监听器,如有Crash或ANR会在控制台输出相关信息
截图:
adb shell screencap /sdcard/screen.png (手机保存的路径)
adb pull /sdcard/screen.png C:\Users\a\Desktop\ 将截图复制到电脑桌面(指定路径)
adb shell rm /sdcard/screen.png 删除手机里的截图
查找进程
adb shell ps | grep adbd
adb shell ps | findstr adbd
获取被测应用的 UID
1、查看被测应用的进程 ID(PID)
adb shell ps | grep <应用包名>
2、查看被测应用的用户 ID(UID)
adb shell cat /proc/pid/status
使用Activity
adb shell dumpsys activity | grep mFocusedActivity 获取当前应用顶层activity(包名/活动名称)返回数据例如:mFocusedActivity: ActivityRecord{3021a8c u0 toko.ceban.saku/com.mbs.od.main.MainActivity t6831}
adb shell am start -n toko.ceban.saku/com.mbs.od.main.MainActivity 根据activity启用应用
adb shell am force-stop {包名} 停止应用
注:windows用findstr代替grep,在windows上使用grep,则shell后面的语句加上双引号,例:adb shell “ps | grep adbd”