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

Android-LOG错误查看

2016-07-20 17:01 597 查看
设置LOG打印等级:

adb shell setprop log.tag.InCall VERBOSE

InCall 都能打印出来

android-log 抓取脚本.bat

@echo off 

title 抓取main日志

 

color 0a

echo.

echo  在运行日志脚本之前,必须确保adb能连接上;

echo  如出现"waiting for device",说明adb没连接上;

rem echo  有问题请联系:yaqiang.zhang@ck-telecom.com

@echo on

@if exist 1.txt    del 1.txt

adb logcat -b radio -b main -b system -b events -v time >> e:/2.txt

rem adb shell dmesg >> ./1kernel.txt

pause

1:


android:android.content.res.Resources$NotFoundException: String
resource ID #..

做Android应用开发的朋友有时候会遇到这样的Bug,, 
android.content.res.Resources$NotFoundException: String resource ID #0x0 找不到资源文件ID #0x0
原因分析如下:
遇到这种情况,很有可能是把一个int型业务数据的 设置setText()或者类似的方法中, 这样Android系统就会主动去资源文件当中寻找, 但是它不是一个资源文件ID, 所以就会报出这个bug。 将int型业务数据,转换成String类型即可。

2:android手机打电话中通话时间显示错误:-12321312-------------(此分析错误,但是可以记录分析过程,几个LOG查看手机系统时间的打印可以以后借鉴,一下的手机系统时间和更新网络时间都是正确)

原因分析:通话中手机系统时间发生了改变:

查询手机LOG:当前时区,

08-18 13:32:04.316 D/GsmSST  ( 3150): [GsmSST] pollStateDone: no nitz but one TZ for iso-cc=in with zone.getID=Asia/Calcutta testOneUniqueOffsetPath=false

08-18 13:32:04.316 D/GsmSST  ( 3150): [GsmSST] setAndBroadcastNetworkSetTimeZone: setTimeZone=Asia/Calcutta

08-18 13:32:04.316 D/AlarmManagerService( 1395): Kernel timezone updated to -330 minutes west of GMT

查询手机LOG:当前获取了网络时间UTC、GTM更新手机时间:1471507336023

08-18 13:32:16.023 D/TimeService(22174): Receivedandroid.intent.action.TIME_SET intent. Current Time is 1471507336023// ->转换成中国本地时间:2016/8/18 16:02:16(转换网址:http://tools.sharejs.com/unixtime.html)

这个手机接受了网络时区时间跟手机本地时间不对应08-18 13:32:16.023 打印的时间,是之前手机的印度时区时间一路走下来的,但是后面打印的获取网络时间转化成中国时间是2016/8/18 16:02:16,相差2.30小时

也就是说通话中可能手机更新时间造成错误:

通话中算duration的时候成了负数,在DateUtils.formatElapsedTime(mPrimary.getCallDuration() / 1000)的时候
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: