adb命令
- adb命令的一般格式:
adb [-d|-e|-s]
如果只连接了一个设备,那么就不需要加参数,但是如果连接了不止一个设备,就可以通过参数来进行控制。
参数 | 含义 |
-d | 指定当前通过USB连接的唯一的安卓设备作为命令目标 |
-e | 制定当前唯一运行的模拟器作为命令目标 |
-s <SerialNUmber> | 指定相应serialNumber的设备或者模拟器为命令目标 |
- 查看连接设备
可以用:adb devices
。
输出实例:
List of devices attached
cf264b8f device
emulator-5554 device
10.129.164.6:5555 device
- 输出格式是serialNumber state
state值 | 含义 |
offline | 表示设备未连接成功或无响应 |
device | 设备已连接 |
no device | 没有设备/模拟器 |
adb -s cf264b8f install test.apk <==指定给cf264b8f安装apk
- 启动adb
adb start-server
- 结束adb
adb kill-server
- 上面两个adb命令一般一起使用,当
adb devices
没有列出设备的时候,先暂用adb服务再启动adb服务。 - 安装应用和卸载应用
adb install apk文件名 <==安装应用
adb uninstall 应用的包名 <==卸载应用
- 把安卓机里面的文件复制到计算机上
adb pull sdcard/pull.txt d:\rename.txt
- 把计算机里面的文件复制到安卓机上
adb push d:\push.txt sdcard/
- sdcard后面的/是必不可少的,否则会出现
failed to copy 'push.txt' to 'sdcard': Is a directory
的错误。 - 获取root权限
adb root
或者adb remount
可以获取安卓机的权限,并且挂载系统文件系统读写状态,但是只限于小米开发手机 - 查看日志
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 目录下。
- 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 | 默认安装在外部存储 |
- am
- 启动应用
am start
参数 | 含义 |
-n | 启动一个应用 |
-S | 停止目标应用再启动 |
-W | 等待应用完成启动 |
- 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