adb命令
- adb命令的一般格式:
adb [-d|-e|-s]
如果只连接了一个设备,那么就不需要加参数,但是如果连接了不止一个设备,就可以通过参数来进行控制。参数 含义 -d 指定当前通过USB连接的唯一的安卓设备作为命令目标 -e 制定当前唯一运行的模拟器作为命令目标 -s <SerialNUmber> 指定相应serialNumber的设备或者模拟器为命令目标 - 查看连接设备
可以用:adb devices
。
输出实例:
输出格式是serialNumber stateList of devices attached cf264b8f device emulator-5554 device 10.129.164.6:5555 device
state值 含义 offline 表示设备未连接成功或无响应 device 设备已连接 no device 没有设备/模拟器 adb -s cf264b8f install test.apk <==指定给cf264b8f安装apk
- 启动adb
adb start-server
- 结束adb
上面两个adb命令一般一起使用,当adb kill-server
adb devices
没有列出设备的时候,先暂用adb服务再启动adb服务。 - 安装应用和卸载应用
安装的时候加上-r参数代表覆盖安装。卸载的时候加上-k参数代表卸载的时候保存数据和缓存目录。adb install apk文件名 <==安装应用 adb uninstall 应用的包名 <==卸载应用
- 把安卓机里面的文件复制到计算机上
并不是所有安卓机的文件都可以复制出来,有一些需要root权限。adb pull sdcard/pull.txt d:\rename.txt
- 把计算机里面的文件复制到安卓机上
sdcard后面的/是必不可少的,否则会出现adb push d:\push.txt 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