您的位置:首页 > 移动开发 > Android开发

Android 如何抓取关机闹钟(Poweroff Alarm)相关log? M

2014-01-21 15:22 495 查看
前言
         欢迎大家我分享和推荐好用的代码段~~
声明
         欢迎转载,但请保留文章原始出处:

         [b][b]CSDN
[/b]:[/b]http://www.csdn.net

         雨季o莫忧离:http://blog.csdn.net/luckkof

正文

 
 

如果遇到关机闹钟的相关问题,最有效的分析log,是使用手机中的mobilelog工具来抓取log。由于关机闹钟的设计是在开机完成后才去启动闹钟界面和闹钟铃声,所以只要闹钟有响起或者闹钟界面有show出来,都是可以抓取到有效的关机闹钟的log的。

一、具体抓取log步骤如下:

(1)    打开手机中的mobilelog开关;

(2)    设置闹钟-à 关机;

(3)    然后进行测试操作,待操作完毕,将mobilelog取出即可。

二、如果遇到闹铃响,但是看不到闹钟界面的情况,还可以抓取此时的layerdump来帮助分析:

抓取LayerDump是一个.Bat批处理文件,批处理文件的代码如下(烦请Copy对应内容,自己生成.Bat批处理文件):

:: ICS SF layerdump batch

::

:: [usage]

::

:: $> ./SF_layerdump_all [IS_RAW] [DUMP_ID]

::

:: IS_RAW: 0 for PNG and 1 for RAW (default 0)

:: DUMP_ID: layer identity to dump, or -1 for all (defulat -1)

SET raw=%1

SET layerdump=%2

IF "%raw%"=="" SET raw=0

IF "%layerdump%"=="" SET layerdump=-1

adb shell setprop debug.sf.layerdump.raw %raw%

adb shell setprop debug.sf.layerdump %layerdump%

adb shell dumpsys SurfaceFlinger > SF_layerdump_all.log

adb shell mkdir /data/SF_dump

adb shell mv /data/*.png /data/SF_dump

adb shell mv /data/*.i420 /data/SF_dump

adb shell mv /data/*.yv12 /data/SF_dump

adb shell mv /data/*.RGBA /data/SF_dump

adb shell mv /data/*.RGB565 /data/SF_dump

rmdir /S /Q SF_layerdump_all

md SF_layerdump_all

move SF_layerdump_all.log SF_layerdump_all

adb pull /data/SF_dump SF_layerdump_all/

adb shell rm /data/SF_dump/*

三、对于JB2及以后的版本:

最好将AlarmManagerService.java中的debug开关打开,即

将localLOGV的值置为true。

如果需要敝司帮助分析,请在提e-service时,将按照上述步骤抓取的mobilelog和复现问题的时间点一并附上。

 

涉及的文件路径:frameworks\base\policy\src\com\android\internal\policy\impl\keyguard
(1)判断alarm boot:KeyguardUpdateMonitor.java
(2)增加了alarm boot的锁屏模式:KeyguardSecurityModel.java
3)判断为alarm boot,则show出相应提示界面:KeyguardHostView.java
(4)alarm boot的锁屏界面:PowerOffAlarmView.java(code path:mediatek\framework-ext\base\policy\java\com\android\internal\policy\impl\keyguard)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息