安卓系统是基于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
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Android:adb shell 命令详解的更多相关文章

  1. adb shell 命令详解,android

    http://www.miui.com/article-275-1.html http://noobjava.iteye.com/blog/1914348 adb shell 命令详解,android ...

  2. adb shell 命令详解,android, adb logcat

    http://www.miui.com/article-275-1.html http://noobjava.iteye.com/blog/1914348 adb shell 命令详解,android ...

  3. adb shell 命令详解(转)

    adb介绍 SDK的Tools文件夹下包含着Android模拟器操作的重要命令adb,adb的全称为(Android Debug Bridge就是调试桥的作用.通过adb我们可以在Eclipse中方面 ...

  4. adb shell 命令详解

    adb介绍 SDK的Tools文件夹下包含着Android模拟器操作的重要命令adb,adb的全称为(Android Debug Bridge就是调试桥的作用.通过adb我们可以在Eclipse中方面 ...

  5. 【转】Linux下Android ADB驱动安装详解

    原文网址:http://blog.csdn.net/zhenwenxian/article/details/5901350 Linux下Android ADB驱动安装详解 概述 最近由于内置的合作商比 ...

  6. Android的logcat命令详解

    前言          欢迎大家我分享和推荐好用的代码段~~ 声明          欢迎转载,但请保留文章原始出处:          CSDN:http://www.csdn.net        ...

  7. 【Devops】【docker】【CI/CD】关于jenkins构建成功后一步,执行的shell命令详解+jenkins容器运行宿主机shell命令的实现方法

    1.展示这段shell命令 +详解 #================================================================================= ...

  8. Linux主要shell命令详解(上)

    [摘自网络] kill -9 -1即实现用kill命令退出系统 Linux主要shell命令详解 [上篇] shell是用户和Linux操作系统之间的接口.Linux中有多种shell,其中缺省使用的 ...

  9. adb调试命令详解-2016.02.01

    adb(Android Debug Bridge),调试桥可以让设备的调试监测过程在远端进行,而不必在运行实际运行应用的设备上,方便调试的输出. 1 命令详解 a 查看帮助信息         adb ...

随机推荐

  1. SSH整合——登录模块

    1.导包——参照我的GitHub Hibernate hibernate/lib/required hibernate/lib/jpa 数据库驱动 Struts2 struts-blank.war/W ...

  2. Stanford CS229 Machine Learning by Andrew Ng

    CS229 Machine Learning Stanford Course by Andrew Ng Course material, problem set Matlab code written ...

  3. Python面向对象的三大特性之异常处理

    一.错误与异常 程序中难免会出现错误,而错误分为两种 1.语法错误:(这种错误,根本过不了python解释器的语法检测,必须在程序执行前就改正) 2.逻辑错误:(逻辑错误),比如用户输入的不合适等一系 ...

  4. 阅读之SQL优化

    一.性能不理想的系统中除了一部分是因为应用程序的负载确实超过了服务器的实际处理能力外,更多的是因为系统存在大量的SQL语句需要优化. 为了获得稳定的执行性能,SQL语句越简单越好.对复杂的SQL语句, ...

  5. 【leetcode database】Human Traffic of Stadium

    X city built a new stadium, each day many people visit it and the stats are saved as these columns: ...

  6. python中的类,对象,实例,继承,多态

    ------------恢复内容开始------------ 类 (通俗来讲是 属性和方法的集合) 用来描述具有相同的属性和方法的对象的集合.它定义了该集合中每个对象所共有的属性和方法. 对象,即为类 ...

  7. SpringBoot项目中,表单的验证操作

    在创建Springboot项目中,我们使用了表单验证操作,这一操作将极大地简化我们编程的开发 1.接收数据,以及验证 @PostMapping("/save") public Mo ...

  8. JPA学习(三、JPA_API)

    框架学习之JPA(三) JPA是Java Persistence API的简称,中文名Java持久层API,是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中 ...

  9. CloudSim学习

    CloudSim CloudSim是墨尔本大学云计算和分布式系统实验室推出的云计算模拟软件.它可以使研究者规避实际部署的诸多不便(比如说资金缺乏等因素),在单机上即可实现对大规模云集群的模拟和相应算法 ...

  10. (76)深入浅出Mqtt协议

    物联网(Internet of Things,IoT)时代机器之间(Machine-to-Machine,M2M)的大规模沟通需要发布/订阅(Publish/Subscribe)模式,轻量级.易扩展的 ...