adb是Android Debug Bridge的简称, 就是起到调试桥的作用,用来操作android设备

adb help (显示帮助信息)

adb devices (获取设备列表及设备状态)

adb install xxx.apk(安装软件)

adb install -s SerialNo xxx.apk (当有多个设备连接时,选取其中一个进行安装apk)

adb install -r xxx.apk(覆盖安装软件)

adb uninstall packageName(卸载软件)

adb push (从电脑上发送文件到Android设备)

adb pull (从Android设备中下载文件到电脑)

adb kill-server , adb start-server (结束 adb 服务, 启动 adb 服务,通常当adb出现异常时,两个命令可以一起用,来重启adb服务)

adb reboot (重启Android 设备)

adb logcat | findstr xxxxx(过滤日志信息)

adb shell (进入shell环境,即Android内核中的linux环境),然后可以使用linux基础命令,如:cat、cd、chmod、cp、date、df、du、grep、kill、ln、ls、lsof、netstat、ping、ps、rm、rmdir、top、touch、重定向符号 ">"、 ">>"、管道 "|" 。有些命令可能需要使用busybox 。

退出adb shell模式:exit

PM命令:

adb shell pm list package (列出所有的应用的包名,部分系统自带,还是自己安装)

adb shell pm list package -s (列出系统自带应用)

adb shell pm list package -3 (列出第三方应用,即自己下载安装的应用)

adb shell pm list package -f (列出所有应用包名及对应的apk名及存放位置)

adb shell pm path packageName (列出对应包名的.apk 位置)

adb shell pm list package -i (列出应用包名及其安装来源)

adb shell pm list package -f -3 -i xiaoniu (查找第三方应用中小牛在线APP的包名、apk存放位置、安装来源)

adb shell pm clear packageName (清理应用的数据)

adb shell pm install xxx.apk (安装存放于 Android 设备中apk,外部的apk可以直接用adb install)

安装失败,检查发现没有root权限,需要root权限,才能用pm安装,比如下面(换了一台root过的手机)

adb shell pm uninstall packageName (同adb uninstall , 后面跟的参数是应用的包名)

adb shell pm dump packageName (列出指定应用的dump信息,里面有各种信息,可自行查看)

adb shell pm set-install-location 0/1/2 (设置应用安装位置,0:默认为自动、1:默认为安装在手机内部、2:默认安装在外部存储)

adb shell pm get-install-location (获取应用安装位置,[0/auto]:默认为自动、[1/internal]:默认为安装在手机内部、[2/external]:默认安装在外部存储)

AM命令:

adb shell am start -n 包(package)名/包名.活动(activity)名称
adb shell am start -n com.xiaoniu.finance/com.xiaoniu.finance.ui.LaucherTaskActivity 启动小牛在线APP

adb shell am start -n com.xiaoniu.finance/.ui.LaucherTaskActivity 效果同上

adb shell am start -S com.xiaoniu.finance/.ui.LaucherTaskActivity (先停止目标应用,再启动)

adb shell am start -W com.xiaoniu.finance/.ui.LaucherTaskActivity (等待应用完成启动)

adb shell am monitor (启动监控 crash与ANR)

adb shell am force-stop packageName (强制结束某个应用)

adb shell am kill PID (杀掉某个服务的进程,杀全部进场用kill-all,需要用到root权限,还要先获取PID)

INPUT命令:

adb shell input text test (发送文本内容,不能发送中文,要先将键盘设置为英文键盘再执行此命令)
adb shell input keyevent KEYCODE_HOME (发送按键事件,效果同点击home键一致)
adb shell input keyevent 3 (同上,效果同点击home键一致)
adb shell input tap 500 500 (对屏幕发送一个触摸事件,点击屏幕上坐标为 500 500 的位置)
adb shell input swipe 900 500 100 500 (从右往左滑动屏幕,如果版本不低于 4.4 , 可以模拟长按事件)
adb shell input swipe 500 500 501 501 2000 (在较小的距离内,在较长的持续时间内进行滑动,最后表现出来的结果就是长按动作)

2. screencap 截屏命令:
adb shell screencap -p /sdcard/screen.png ( 截图命令,保存截图到/sdcard/,不能直接保存到本地)

screenrecord 录屏命令:
adb shell screenrecord sdcard/record.mp4 (设备屏幕录制命令,执行此命令后操作手机屏幕,按ctrl + c 可结束录制,录制结果保存至sdcard,可另外使用adb pull命令将视频发送到本地电脑中)

三、Monkey命令,至少三种不同测试策略:

(1)、策略:执行随机操作10000次,不指定操作序列,忽略超时、crash、安全异常:

adb shell monkey -p com.xiaoniu.finance -s 123 --throttle 500 --ignore-crashes --ignore-timeouts --ignore-security-exceptions -v -v -v 2000 > d:\xnonline-monkey-test1.txt

(2)、策略:执行随机操作10000次,指定操作序列,操作touch 占50%,其余两种操作(motion + appswitch)各25%,忽略超时、crash、安全异常:

adb shell monkey -p com.xiaoniu.finance -s 123 --throttle 500 --pct-touch 50 --pct-motion 25 --pct-appswitch 25 --ignore-crashes --ignore-timeouts --ignore-security-exceptions --kill-process-after-error -v -v -v 2000 > d:\xnonline-monkey-test2.txt

(3)、策略:执行随机操作10000次,指定操作序列,操作motion占50%,其余两种操作(touch + appswitch)各25%,忽略超时、crash、安全异常:

adb shell monkey -p com.xiaoniu.finance -s 123 --throttle 500 --pct-touch 25 --pct-motion 50 --pct-appswitch 25 --ignore-crashes --ignore-timeouts --ignore-security-exceptions --kill-process-after-error -v -v -v 2000 > d:\xnonline-monkey-test3.txt

(4)、策略:执行随机操作10000次,指定操作序列,操作appswitch占50%,其余两种操作(touch + motion )各25%,忽略超时、crash、安全异常:

adb shell monkey -p com.xiaoniu.finance -s 123 --throttle 500 --pct-touch 25 --pct-motion 25 --pct-appswitch 50 --ignore-crashes --ignore-timeouts --ignore-security-exceptions --kill-process-after-error -v -v -v 2000 > d:\xnonline-monkey-test4.txt

 

adb 常用命名的更多相关文章

  1. adb常用命令(转)

    1.Android Debug Bridge -adb常用命令 1.1简介 Android Debug Bridge,我们一般简称为adb,主要存放在sdk安装目录下的platform-tools文件 ...

  2. adb常用命令教程

    1.Android Debug Bridge - adb常用命令 1.1简介 Android Debug Bridge,我们一般简称为adb,主要存放在sdk安装目录下的platform-tools文 ...

  3. Android ADB 常用命令

    Android ADB 常用命令 泛原罪 2016.09.21 00:02* 字数 605 阅读 2912评论 0喜欢 1 [TOC] adb logcat 查看日志 详细内容可参见 ADB Usag ...

  4. adb 常用命令汇总

    adb 常用命令: adb –help 查看帮助手册 adb devices 检测连接到电脑的安卓设备或安卓模拟器设备 adb pull  <手机路径>  <本机路径>  从手 ...

  5. 54. Android中adb常用命令及应用常用目录

    本文主要介绍adb常用命令及应用常用目录.1.adb常用命令adb devices列出所有连接的android设备.以下命令都是对单个devices而言,如果存在多个devices的话,下面的命令都需 ...

  6. CSS的class、id、css文件名的常用命名规则

    CSS的class.id.css文件名的常用命名规则        (一)常用的CSS命名规则 头:header       内容:content/container       尾:footer   ...

  7. Linux常用命名

    一:命名基本格式 [root@localhost ~]# root: 用户名 localhost: 主机名 (windows在局域网,不能有相同的主机名) ~:当前所在位置 (家目录) root   ...

  8. HTML常用命名和CSS reset代码【收集总结】

    CSS命名规则 头:header 内容:content/containe 尾:footer 导航:nav 侧栏:sidebar 栏目:column 页面外围控制整体布局宽度:wrapper 左右中:l ...

  9. div+css样式表的id,class的常用命名规则

    div+css样式表的id的常用命名规则如下表所示: div+css样式表的id的常用命名规则如下表所示: 页头 header 登录条 loginBar 标志 logo 侧栏 sideBar 广告 B ...

随机推荐

  1. Asp.Net Core 404处理

    在使用Asp.Net Core Mvc时 404处理整理如下 一.自带404状态处理 1.控制器视图子弹404视图 NotFoundResult,NotFoundObjectResult // // ...

  2. windows Docker Desktop 搭建mysql,mssql和redis服务

    其实网上关于docker上搭建mysql的文章已经很多了,只是今晚自己搭建的时候遇到一些问题,记录一下 1.首先是pull image , docker pull mysql 2.启动服务 docke ...

  3. hibernate JPA 使用懒加载时代理对象

    hibernate延迟加载代理对象实际对象读取方式 public static <T> T deproxy (T obj) { if (obj == null) return obj; i ...

  4. linux平台下Tomcat的安装与优化

    Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选.对于一个初学者来说,可以这样 ...

  5. JAVA获取程序(打成jar或classpath)所在目录

    一.简述 JAVA获取程序(打成jar或classpath)所在目录. 二.代码 package dearcloud.utils.context; import dearcloud.utils.Str ...

  6. angular 2 - 004 routing 路由

    https://angular.io/tutorial/toh-pt5 定义一个模块用来定义路由 src/app/app-routing.module.ts import { NgModule } f ...

  7. API 'variant.getJavaCompiler()' is obsolete and has been replaced with 'variant.getJavaCompileProvider()'

    WARNING: API 'variant.getJavaCompiler()' is obsolete and has been replaced with 'variant.getJavaComp ...

  8. Python操作redis系列之 列表(list) (五)(转)

    # -*- coding: utf-8 -*- import redis r =redis.Redis(host=") 1. Lpush 命令将一个或多个值插入到列表头部. 如果 key 不 ...

  9. shell符号解释

    #符号详解 () 在子shell中运行 (a=1);echo $a,结果是空,因为a=1不是在当前shell中运行的(a=1);(echo $a)也是空的 小技巧:(cd $path, do some ...

  10. 【C++】C++中的基本内置类型

    基本数据类型 下面这张表是C++支持的基本数据类型 类型 含义 最小尺寸 bool 布尔 未定义 char 字符 8位 wchar_t 宽字符 16位 char16_t Unicode字符 16位 c ...