adb 工具即 Android Debug Bridge(安卓调试桥) tools。是android sdk里的一个工具,可以直接操作管理android模拟器或者真实的andriod设备。
adb connect <IP地址>
:连接设备
adb disconnect <IP地址>
:断开连接
adb devices
:查看连接设备
adb start-server
:开启服务
adb kill-server
:关闭服务
adb install apk路径
:安装软件
adb uninstall 包名
:卸载软件
adb shell am start -n 包名/类名
:打开app
adb d badding 文件名
:拆包
adb install -r apk路径
:覆盖安装,-r 代表如果apk已安装,重新安装apk并保留数据和缓存文件
adb shell pm list packages
:列出手机装的所有app的包名
adb shell pm list packages -s
:列出系统应用(系统自带的软件包)
adb shell pm list packages -3
:列出第三方应用(用户安装的)
adb push 电脑路径 移动端路径
:将电脑文件传输到移动端
adb pull 移动端路径 电脑路径
:将移动端文件传输到电脑
adb shell screencap -p 截图文件路径
:截屏
adb shell am start -W -n 包名/类名
:查看启动时间
i. ThisTime:最后一个启动的Activity的启动耗时
ii. TotalTime:自己的所有Activity的启动耗时
iii. WaitTime:ActivityManagerService启动App的Activity时的总时间(包括当前Activity的onPause()和自己Activity的启动)
adb shell dumpsys cpuinfo
、adb shell top
:查看手机CPU情况
adb shell dumpsys meminfo +包名
:查看应用内存使用情况
adb shell dumpsys diskstats
:显示磁盘使用信息
adb shell pm clear [packagename]
:清除应用缓存信息
adb shell dumpsys battery
:查看电池状态
adb shell dumpsys batteryproperties
:查看电池信息,显示当前电池关键属性值
adb logcat [选项] [过滤项]
:查看手机日志
- Android的日志级别:
V —> Verbose(最低,输出得最多)
D —> Debug
I —> Info
W —> Warning
E —> Error
F —> Fatal
S —> Silent(最高)- 过滤指定等级日志:按某级别过滤日志则会将该级别及以上的日志输出。eg:
adb logcat *:W
adb logcat -t 5
:输出最近5行的数据
monkey主要用于安卓稳定性测试,模拟用户触摸屏幕、滑动Trackball、按键等操作来对设备上的程序进行压力测试,主要目的就是为了测试app是否会crash。
命令:monkey -p 包名 --throttle 时间间隔 百分比事件 事件占比 -v -s seed值 操作次数
-p:指定要测试的包,若不指定则在整个系统中执行
i. 指定一个包执行10次:monkey -p 包名 10
ii. 指定多个包执行10次:monkey -p 包名 -p 包名 10
-v:指定反馈日志的详细程度级别,有3个级别:
i. -v
:默认级别,精简的日志,仅提供启动、测试完成和最终结果等少量信息。eg:monkey -p 包名 -v 10
ii. -v -v
:提供较为详细的日志,包括每个发送到Activity的事件信息。eg:monkey -p 包名 -v -v 10
iii. -v -v -v
:提供最详细的日志,包括了测试中选中/未选中的Activity信息。eg:monkey -p 包名 -v -v -v 10
-s:指定伪随机数生成器的seed值,即seed种子值。monkey -p 包名 –s seed值 执行次数
注:如果seed值相同,则两次Monkey测试所产生的事件序列也相同的
eg:
test1:monkey -p com.qq –s 777 100
test2:monkey -p com.qq –s 777 100,
两次测试的效果是相同的:模拟的用户操作序列是一样的。相当于test2重复执行test1的随机操作。
理解:test1指定seed值,test2使用seed值。
–throttle:指定每次操作的时间间隔。
eg:
monkey -p 包名 -v-v --pct-touch 50 --pct-trackball 50 --throttle 100 1000,每个操作间隔100ms,共执行1000次 ,其中点击事件占比50%,轨迹事件占比50%
百分比事件:
i. –pct-touch :触摸、点击事件
ii. –pct-motion:动作事件(动作事件由屏幕上某处的一个down事件、一系列的伪随机事件和一个up事件组成)
iii. –pct-trackball:轨迹事件(轨迹事件由一个或几个随机的移动组成,有时还伴随有点击)
iv. --pct-nav
:“基本”导航事件(导航事件由来自方向输入设备的up/down/left/right组成)
v. --pct-majornav
:“主要”导航事件(这些导航事件通常引发图形界面中的动作,如:5-way键盘的中间按键、回退按键、菜单按键)
vi. –pct-syskeys:“系统”按键事件(这些按键通常被保留,由系统使用,如Home、Back、Start Call、End Call及音量控制键)
vii. --pct-appswitch
:启动Activity。在随机间隔里,Monkey将执行一个startActivity()调用,作为最大程度覆盖包中全部Activity的一种方法
viii. –pct-flip:“键盘翻转”事件
ix. –pct-anyevent:其它类型事件。包罗了所有其它类型的事件,如:按键、其它不常用的设备按钮、等等
其他参数选项:
i. --ignore-crashes
:忽略崩溃
ii. --ignore-timeouts
:忽略超时
iii. --ignore-security-exceptions
:忽略许可错误
iv. --ignore-native-crashes
:忽略本地崩溃
v. --monitor-native-crashes
:监控本地崩溃