写在前面的话
最近在维护一个老项目,项目里面有接入bugly,但是bugly的管理账号统计不到错误日志
问题出现的场景
这个项目是多模块依赖的项目,Application有个基类,在基类里面有自定义的系统异常处理,
(implements UncaughtExceptionHandler )
具体代码我这里就不一一列举啦!
问题的关键原因是两个异常处理的调用顺序。
这里面因为无法看到bugly的源码,不过通过实验得出的结论是,如果先调用自定异常的初始化,再调用bugly的初始化,两个异常处理都会被触发。
但是如果先调用bugly的初始化,再调用自定的初始化。就会导致bugly的初始化被覆盖
我的猜测是:bugly对异常的处理肯定是优先级比自定义低的,所以对原有自定义异常不会产生影响。这里只是简单的告诉大家处理方式,后续如果找到实现原理的话,再做更新!
处理方式
用到的技术主要有:Bugly的初始化代码,自定义系统异常处理
先初始化自定义异常,再初始化bugly
附录:
依赖:
compile 'com.tencent.bugly:crashreport:latest.release'
compile 'com.tencent.bugly:nativecrashreport:latest.release' //其中latest.release指代最新Bugly NDK版本号,也可以指定