adb命令
  1. adb命令的一般格式: adb [-d|-e|-s]如果只连接了一个设备,那么就不需要加参数,但是如果连接了不止一个设备,就可以通过参数来进行控制。

参数

含义

-d

指定当前通过USB连接的唯一的安卓设备作为命令目标

-e

制定当前唯一运行的模拟器作为命令目标

-s <SerialNUmber>

指定相应serialNumber的设备或者模拟器为命令目标

  1. 查看连接设备
    可以用: adb devices
    输出实例:
List of devices attached
 cf264b8f    device
 emulator-5554   device
 10.129.164.6:5555   device
  1. 输出格式是serialNumber state

state值

含义

offline

表示设备未连接成功或无响应

device

设备已连接

no device

没有设备/模拟器

adb -s cf264b8f install test.apk       <==指定给cf264b8f安装apk
  1. 启动adb
adb start-server
  1. 结束adb
adb kill-server
  1. 上面两个adb命令一般一起使用,当adb devices没有列出设备的时候,先暂用adb服务再启动adb服务。
  2. 安装应用和卸载应用
adb install  apk文件名             <==安装应用
adb uninstall  应用的包名        <==卸载应用
  1. 把安卓机里面的文件复制到计算机上
adb pull sdcard/pull.txt   d:\rename.txt
  1. 把计算机里面的文件复制到安卓机上
adb push d:\push.txt  sdcard/
  1. sdcard后面的/是必不可少的,否则会出现failed to copy 'push.txt' to 'sdcard': Is a directory的错误。
  2. 获取root权限
    adb root或者adb remount可以获取安卓机的权限,并且挂载系统文件系统读写状态,但是只限于小米开发手机
  3. 查看日志adb logcat [<option>] ... [<filter-spec>] ...

分级

含义

V

Verbose(最低,输出最多)

D

Debug

W

Warning

E

Error

F

Fatal

S

Silent(最高,啥也不输出)

adb logcat  *:W       <==按某级别过滤日志,这种情况下会输出Warning以上级别的日志
adb sehll命令

adb 命令和adb shell命令的区别。adb命令是adb程序自带的命令,但是adb shell命令是调用Android系统的命令,这些 Android 特有的命令都放在了 Android 设备的 system/bin 目录下。

  1. pm
    pm的全称是Package Manager , 可以用获取到一些安装在 Android 设备上得应用信息。
  • pm list package列出安装在设备上的应用

参数

含义

-s

列出系统应用

-3

列出第三方应用

-f

列出应用包名及对应的apk名及存放位置

-i

列出应用包名及其安装来源


  • 列出对应包名的.apk位置pm path
  • 列出含指定应用的dump信息pm dump 包名
adb shell pm dump com.aladinfun.mini
  • 安装应用pm install如果目标apk存放在pc端,用adb install安装,如果目标应用存放在Android设备上,用pm install安装
  • 设置安装应用的位置和获取应用安装位置

结果

含义

0auto

默认为自动

1internal

默认安装在手机内部

2external

默认安装在外部存储

  1. am
  • 启动应用am start

参数

含义

-n

启动一个应用

-S

停止目标应用再启动

-W

等待应用完成启动


  1. monkey向系统发送伪随机的用户事件流
    monkey测试是一种为了测试软件的稳定性,健壮性的快速有效的方法。
    monkey测试的基本步骤:
    1.先用adb devices找到相应的设备
    2.再用adb shell pm list package查看相应的想操作的包
    3.adb shell monkey [option]进行对相应的包的测试

参数

含义

-p

用于约束限制,用此参数指定一个包或多个包。指定之后,只允许系统启动指定的APP

-v

用于指定反馈信息级别,总共3个级别

-s

用于指定伪随机数生成器的seed值,如果seed值相同,测试所生成的事件序列也相同

–throttle<毫秒>

指定用户操作间的时延,单位是毫秒

–ignore-crashes

用于指定当应用程序崩溃时,Monkey是否停止运行,如果使用此参数,即使应用程序崩溃,Monkey依然发送事件,直到事件计数完成

–ignre-timeouts

用于指定当应用程序ANR错误时,Monkey是否停止运行。如果使用此参数,即使应用程序发生ANR错误,Monkey依然发送事件,直到事件计数完成

adb shell monkey -p com.aladinfun.minibox -v 100   <==指定一个包
 adb shell monkey -p cn.emoney.acg -p cn.emoney.wea -p cn.emoney.acg 100    <==指定多个包

v参数的级别

含义

Level0

说明缺省值

Level1

说明提供较为详细的日志,包括每个发送到Activity的事件信息

Level2

说明最详细的日志,包括测试中选中/未选中的Activity信息

adb shell monkey -p cn.emoney.acg -v 100            <==Level0
adb shell monkey -p cn.emoney.acg -v -v 100         <==Level1
adb shell monkey -p cn.emoney.acg -v -v -v 100      <==Level2