一份完整的mtklog中一共包含以下几个部分:
aee_exp/config/mdlog/mobilelog/taglog/netlog
其中,拷贝至电脑前请务必先确认手机中有如上文件夹且内中存在log。对于软件研发来说,aee_exp和mobilelog中的数据是最重要的。
手机上操作mtklog工具:
1. Eng版本,开机后Log工具默认打开,是出于调查第1次开机以及一些难以复现的问题等考虑,如果发生问题时操作人员没有打开相关log工具,结果就很难或无法抓取这类问题的meklog。
User版本,默认关闭。
2. 在将log从手机中pull出来之前,请务必停止mtklog工具。否则,会出现部分log丢失。
3. 在插拔sd卡之前,请务必停止mtklog工具。否则,log tool会自动停止,并会导致部分log丢失。
4. mtklog工具运行过程中,请务必不要删除当前正在录制的mtklog目录。否则,mtklog工具会自动停止。
手机软件测试注意事项
为保证测试出来的问题,能够有足够的信息去分析. 在测试中需要注意一些细节.
测试过程中:
1:发现有异常,尽可能马上备份完整的LOG, 再进行下面测试,以免后来的测试把之前的LOG冲掉。每次抓取log前最好直接删除整个mtklog文件夹。
2:调整手机的时间跟实际的时间一致.这是为了更好的在log中定位问题发生的具体时间。
3:记录现场的情况: 是在什么情况下发生? 发生的时间?最好精确到秒,误差允许在20-30秒之内。更容易定位问题。
4:如果是成批有问题,请详细统计概率。
5:adb导出log后一定要与手机中的mtklog文件夹进行比对,避免出现log丢失的情况。(mtklog工具打印log后并不能在手机内存中实现实时存储,需要先和数据库做同步才能保证MTP传输不会丢失数据。故手机连接usb前请先重启,并使用adb导出所需log)。
如何抓取完整的LOG:
软件研发自测:
1. 使用GAT工具,复现问题后连上usb(确保adb正常工作),打开GAT,点击DDMS Control这个界面下面一排按钮的最右 边按钮(是个虫子图标),然后GAT会自动抓取手机里所有的log,并打包好(目录一般是放在临时目录下,可自行修改)。
再次梳理软件测试抓取log流程:
1. 删除手机中的mtklog文件夹,将手机时钟同步至实际时间。打开mtklog工具,开始复现问题。
2. 问题复现中详细记录下问题发生时间,现象。方便研发定位问题,减少由于问题描述不全导致的retest。
3. 复现完关闭mtklog工具,先重启手机,再将手机连上usb。用以下脚本导出mtklog文件夹,和手机中的mtklog文件夹进行比对,一定要确保没有文件遗漏!
4. 脚本信息如下(以下CODE保存为.bat文件)
adb devices ----------- 为了确定手机正常连接adb
@echo "抓出sdcard/mtklog"
adb pull /sdcard/mtklog mtklog/
@echo “抓出sdcard2/mtklog”
adb pull /sdcard2/mtklog mtklog/sdcard2
@echo "抓出trace" ----------- 抓取anr问题相关的trace信息
adb pull /data/anr mtklog/anr
@echo "抓出data aee db"
adb pull /data/aee_exp mtklog/data_aee_exp
@echo "抓出data mobilelog"
adb pull /data/mobilelog mtklog/data_mobilelog
@echo "抓出NE core" ----------- 当手机死机时可抓取NE的相关log信息
adb pull /data/core mtklog/data_core
@echo "抓出tombstones" ----------- 当手机死机时可抓取tombstones相关信息
adb pull /data/tombstones mtklog/tombstones
@echo "完成"
pause