android monitor tool (1.0 功能介绍)
首先介绍下做这个软件的几个理由:(习惯索引从0开始)
0: Dropbox服务器部门总工程师Rajiv Eranki 说过的一句话:
他们在过程中还发现“图表都是没用的”,取而代之的是仪表盘式的显示方式
1 :给自己看,给测试看,同时有图有报表给boss看。
2 :重复的时间,尽量脚本化,自动化。
用到的都是些开源的语言或者库,所以没有理由不开源,不管好与坏,希望能与大家有更多的交流并完善之。
最初的想法只是想监视memory,cpu,battery, 后来加的功能多了,功能不再纯洁。
简单介绍下现在有的功能:
0 可以检测此时android memory cpu process battery 的状态 及 屏幕的现实内容
还可以看到linux kernel 运行的时间 (可以区分是整个系统重启还是android世界的重启)
目前最多支持显示4个CPU,可以看到正常情况下CPU2和CPU3是基本不用的:
1 有的时候你不需要监控所有的进程,你可以选择几个重点怀疑对象进行监控
2 可以远程控制手机,模拟发送触摸屏及按键事件 (应用场合:开发早期触摸屏还没确定及判断问题是驱动层还是framework / app 层)
可控制手机背光的亮度 (有时候powerkey 没有反应的时候,可以确认真正处在什么状态)
3 比较nand / emmc 的读写速度 (不同厂商: sumsung ,micron ,toshiba 等)
不同的nand 有时候会导致第一次开机速度30S的差距
4 monkey test , 有的时候只需要测单独一个apk,但是又不记得它的包名 (adb shell pm -l)
可以简单的选择你要测试的软件包及测试的次数
5 native 进程破溃的时候,需要找到对应的c/cpp源代码
5.1 选择系统打印的log
5.2 根据提示选择出问题的带symbols的可执行程序或静态/动态库
5.3 在findbug/demo1(native) demo2(动态库) 下已经有两个例子
6 自动生成bootchart(可设置需要监视系统启动前的多少秒时间), 你可以找到 XMeter\bootchart\bootchart.png
有的时候需要分析系统启动的速度及哪个进程或I/O占用的时间及时序:
7 检测 kernel memory leak : (可以设置 清除 ,开始,停止,是否扫描stack 等)
8 监视android系统的属性 (只读/服务/可读写)及某个时间段哪个属性变化了:
9 最后由于经常要查看asii 码,方便随时查阅
10 源代码下载:
https://git.oschina.net/xmeter/android-monitor-tool
代码托管在oschina.net , 一直认为oschina 是个非常好的网站
曾有幸见过红薯一次并合影一张