android该目录下system/coremail邮件系统下载/logcat下面的logcat.cpp如何编译可以生成linux下面可以使用logcat命令?

概述:作为一个Android系统工程师最頭疼的莫过于死机和重启,这种概率性Bug往往在办公室的测试环境下很难复现,但是在实际使用中确实会出现死机和重启,这时候有一份可靠的log是尤其重要的,那么除了分析Android系统log如果还能有一份kernel log是不是就更容易定位问题呢?

我们最常用的平台有高通,MTKRK,……除叻MTK有一个mtklog,其他的平台好像都没有内置这种打印log的应用所以有时候就需要自己动手丰衣足食。

思路1.将MTK logger移植过去然后开始了代码阅读,結果发现里面涉及的东西太多逻辑还挺复杂,没有10天半个月我很难搞清楚,故放弃(也怪自己太懒抱拳),如果有哪位同学比较精通这个希望能分享一下,多谢!!

思路2.logcat添加个参数去打印kernel log,然后开机自启一个进程去打印log并保存本地,貌似这个方案更简单一点說干就干,开始实现功能

相对来说工程比较小了,经过一番百度我发现使用klogctl来保存kernel log是比较靠谱的,那么写一个函数:

//获取全部log后并清除缓存

log和系统log到本地并且以开始时间命名文件,当logcat打印一段时间后(我们设置的时间是30分钟存一个文件)再创建一对文件保存

//超时跳絀循环,重新打印log

经过上述修改然后我们使用logcat -a 就可以保存log至本地了,类似logcat -f /文件路径/

添加自定义命令成功后我们就考虑,怎么开机自启所以我就在init.rc添加了service,用系统属性值做开关,代码如下:

上述修改成功后我们是搭配一个文件管理APP(自定义的)对文件进行,删除上传等操作(APP比较简单,我就不再多做解释了)这样我们获取log就轻松了很多,这种思路修改的地方虽然不是很多,但是个人感觉不是很好最好还是研究一下MTK的logger,然后移植出来比较好,如果大家有好的办法和思路希望多多批评!!!

这个命令可以向 Android 设备发送按键事件

4.4以上系统版本新增的录制命令

执行命令后操作手机ctrl + c 结束录制,录制结果保存至 sdcard/ 下

列出设备上的输入法 


2.获取系统api版本

3.获取手机相关制造商信息

3,获取手机系统信息( CPU厂商名称等)

7,获取手机MAC地址

10获取手机内部存储信息

11,获取Android设备屏幕分辨率

15保留数据和缓存文件,重新咹装升级

16,卸载app但保留数据和缓存文件

17查看目录下的文件大小

删除文件夹的时候需要加上-r参数 

25,查看指定进程PID

26查看进程具体的信息

我要回帖

更多关于 coremail邮件系统下载 的文章

 

随机推荐