一、看文档了解bugly集成基本步骤。
二、创建demo在线依赖bugly最新的sdk,根据文档步骤编码,测试验证app崩溃后是否上报异常到bugly平台。
三、demo测试成功后,集成到公司项目中出现的问题记录。
- 查看开发文档中常见的问题记录有没有可以解决问题的办法,查找后没有,但找到了bugly技术交流群号。
- 加群后向技术支持反馈问题现象与发送相关日志信息。
- 在代码中发现前人集成过bugly,于是删掉老代码,换成最新代码。
四、与技术支持的聊天记录。
- 你发的有的日志都没有问题,是不是被其他组件拦截后没有传递到bugly的,这个需要你从app业务层来排查一下。
- 你测试下native异常是否可以上传。
- 可能是被其他模块拦截了,你了解下UncaughtExceptionHandler。
- 需要你自己记录错误,等应用重启后再上报(如果要全局拦截异常就这样做)。
五、最终解决。
- 查看项目中全局拦截异常的代码,发现删掉后不影响项目稳定性。
- 测试发现java崩溃异常能正常上传bugly平台。
六、ANR异常无法上报原因。
- Bugly是通过监听/data/anr目录文件数据更新来探测anr的,但是从sdk 23(对应安卓6.0)开始app就没有监听系统文件权限了发生anr的时候。使用机器验证时候可以留意,如果可以捕获到,会有对应日志:CrashReport: read trace first dump for create time!
- 后续替换方案:通过引入卡顿分析能力,同时满足anr的场景探测。