Android-LOG错误查看

来源:互联网 发布:上海政务数据资源网 编辑:程序博客网 时间:2024/05/16 10:09

设置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)的时候

0 0
原创粉丝点击