安卓系统是基于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. SpringCloud系列(一):Eureka 服务注册与服务发现

    上一篇,我们介绍了服务注册中心,光有服务注册中心没有用,我们得发服务注册上去,得从它那边获取服务.下面我们注册一个服务到服务注册中心上去. 我们创建一个 hello-service 的 spring ...

  2. SpringFramework中的BeanWrapper丶PropertyEditor

    BeanWrapper是org.springframework.beans包下的一个借口,对应的实现类为BeanWrapperImpl,提供对应的get/set方法,并且设置属性的可读性和可写性. p ...

  3. Codeforces Round #593 (Div. 2) C. Labs

    题目:https://codeforces.com/contest/1236/problem/C 思路:将 n ^ 2 个 lab 平分为 n 个 group group A 和 B 组成的 有序对 ...

  4. python实例31[列出目录下所有的文件到txt]

    代码: (使用os.listdir) import os def ListFilesToTxt(dir,file,wildcard,recursion):     exts = wildcard.sp ...

  5. CMDB表结构设计

    服务器 内存.cpu.disk.nic.raid.sn.model.os.status. disk_info = { } SERVER001 storage .... NET001 网络设备 eth ...

  6. 2019JAVA最新课程-React从入门到实战(新)

    1.准备工作 可以在yunp.top网站看webpack,node/npm,cnpm的相关使用视频教程 react有两种使用方式,一是在现有网站中添加:二是创建一个全新的 官网创建全新一个react ...

  7. Vue的watch和computed方法的使用

    Vue的watch属性 Vue的watch属性可以用来监听data属性中数据的变化 <!DOCTYPE html> <html> <head> <meta c ...

  8. 解析binlog生成MySQL回滚脚本

    如果数据库误操作想恢复数据.可以试试下面这个脚本.前提是执行DML操作. #!/bin/env python #coding:utf-8 #Author: Hogan #Descript : 解析bi ...

  9. idea万能快捷键,你不知道的17个实用技巧!!!

    IDEA里有一个万能快捷键(alt enter),功能非常强大,同一个快捷键,可以根据不同的语境提示你不同的操作,很多人可能还不了解这些功能,在处理代码的时候还手动处理,了解这些技巧之后,你编码也是一 ...

  10. BZOJ 2157: 旅游 (结构体存变量)

    用结构体存变量好像确实能提高运行速度,以后就这么写数据结构了 Code: #include <cstdio> #include <algorithm> #include < ...