eclipse 自带的LogCat 调试控制面板不出现错误提示,怎么办?(开发Android)

移动开发 码拜 8年前 (2017-04-23) 1416次浏览
eclipse 自带的LogCat 调试控制面板不出现错误提示,怎么办?
前提:本人的项目中集成的其它的第三方包了。
问题:目前本人在开发项目时候,一旦项目代码写错,如:没有在manifest清单中声明类、代码NULL 指针等等各种问题。
在运行项目的时候,项目到指定的错误界面奔溃了,但是LogCat中不出现错误的提示。而是基本上全部错误都出现相似以下的提示:
eclipse 自带的LogCat 调试控制面板不出现错误提示,怎么办?(开发Android)
本人是在模拟器中提示的,之前模拟器一直可以?预计不是模拟器得原因。
由于比较急,所以要是问题出在第三方包中,要去找出来这个包,进行处理。估计时间不够。
问一下这是什么原因?怎么样解决?假如不用eclipse 的自带LogCat 查看错误。有其它的方式吗?谢谢
解决方案

100

可以这样确定一下是由哪个第三方库引起的:
(不过从上面log来看,应该就是ONE SDK这个库)
系统log打印不出来的情况,一般是由 程序本人处理了,然后没有把这个异常继续抛出来继续给系统处理,导致系统打印不出异常log.
所以这个第三库里肯定有一个类实现了 Thread.UncaughtExceptionHandler , 并调用
Thread.setDefaultUncaughtExceptionHandler(this);
下载一个AndroidKiller(也可以用apktool反编译apk), 把apk拖进去自动反编译,然后查找这些关键字,就可以确认是哪个第三库引起的了。
可以这样解决这个问题:
在你的application中,声明一个成员变量
Thread.UncaughtExceptionHandler mDefaultHandler;
并初始化(并不一定要在application里,在那个第三方库初始化之前就行):
mDefaultHandler = Thread.getDefaultUncaughtExceptionHandler();
然后在那个第三方库被初始化之后,再执行:
Thread.setDefaultUncaughtExceptionHandler(mDefaultHandler);

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明eclipse 自带的LogCat 调试控制面板不出现错误提示,怎么办?(开发Android)
喜欢 (0)
[1034331897@qq.com]
分享 (0)