Android:adb shell 命令详解

安卓系统是基于Linux系统开发,也就支持常见的Linux的命令,这些命令都保存在手机“/system/bin”的目录下,通过adb shell 便可以调用这些命令。
进入“/system/bin”该文件夹下便可以看到这些命令,如下图,常用的dumpsys、echo
 
 
 
对于以上的所有命令可以再后面跟上【-help】查看具体用法
如:adb shell screencap -help
 
1、adb shell screencap <手机路径> 
adb shell screencap /sdcard/test.png :截屏操作,appUI自动化常用命令,当case执行失败时,如果句柄丢失,也就是出现ANR或者崩溃时,框架无法截图,最好自己处理截图操作~   
ps:常用:adb shell screencap -p <手机路径>  保存为png格式图片
2、adb shell screenrecord <手机路径>
adb shell screenrecord  --time-limit 10 /sdcard/demo.mp4:说明:限制视频录制时间为10s,如果不限制,默认180s
PS:华为很多手机处于安全考虑删除了此命令,所以华为机型无法使用此命令~~~
 
以上两个命令经常配合adb pull命令将视频或图片保存至电脑
 
3、adb shell am <指令>   am:activity manager
我们知道activity是Android四大组件之一:
activity:单独的屏幕(窗口),Intent进行通信,AndroidManifest.xml配置文件中声明
此命令常用来启动指定activity,结束进程,发送广播,更改屏幕属性等
 
指令 说明 备注
start <Intent> 根据intent指向启动Activity Intent可以是显示的指向activity, 也可以是ACTION方式, 并且可以添加flag, data等参数信息.
startservice <Intent> 启动Service 可以添加flag, data等参数信息.
broadcast <Intent> 发送广播 可以添加flag, data等参数信息.
monitor 启动一个Crash和ANR的监听器 如有Crash或ANR会在控制台输出相关信息.
force-stop <Package> 强制停止该包相关的一切 传入package name.
kill <Package> 杀死该包相关的所有进程 传入package name.
kill-all 杀死所有后台进程  
display-size WxH 改变显示的分辨率 例如adb shell am display-size 1280x720, 手机可能不支持.
display-density <dpi> 改变显示的density 例如adb shell am display-density 320, 手机可能不支持.
restart 重启手机  
 
如:UI自动化的时,每条case独立,都是从首页开始进入其他地方,可执行下方命令setup时每次打开首页窗口,当然用UI去控制更好,这种又何尝不可
adb shell am start -n com.example.xxxx/com.example.xxxx.ui.activity.StartActivity
 
 
4、adb shell pm
pm即package manager
用来执行package相关的操作,例如安装卸载,查询系统的安装包
 
指令 说明 备注
list packages <Filter> 列出满足filter条件的所有包  
list permissions <Group> 列出该Group的所有权限  
list features 查看系统支持哪些feature 例如蓝牙, wifi, 摄像头等.
install <Path>/uninstall <Package> 安装卸载  
clear <Package> 清除应用数据  
get-install-location 获取安装位置  
5、按键事件
adb shell input keyevent  4:返回键
adb shell input keyevent  26:电源键
按键事件非常的多,大家可以产考这篇博客,写的非常全:https://www.cnblogs.com/chengchengla1990/p/4515108.html
6、输入字符串
adb shell input text 123(输入字符“123”)
7、点击屏幕像素位置
adb shell input tap 100 100 
8、滑动手机屏幕
adb shell input swipe 500 1000 500 500 1000
数字分别代办原始的X坐标,原始Y坐标,需要滑动目标X坐标,目标Y坐标,滑动时间,单位毫秒,滑动时间可不写。
9、设置自定义键盘,输入信息
adb shell ime set com.android.adbkeyboard/.AdbIME
adb shell am broadcast -a ADB_INPUT_TEXT --es msg \ "msg"
 
10 adb shell dumpsys
强大的dump工具,可以输出很多系统信息,例如window,activity,task/back  stack信息,wifi信息等。
 
专项测试的时候对这些命令非常有用,举个梨:
内存、adb shell dumpsys meminfo com.xxxxx.xxxx | findstr TOTAL
CPU、adb shell dumpsys cpuinfo | findstr com.xxxxx.xxxx
功耗、adb shell dumpsys battery
GPU、adb shell dumpsys gfxinfo com.xxxxx.xxxx
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
posted @ 2019-10-29 15:40  木秀  阅读(6281)  评论(1编辑  收藏  举报