一、概述
一般做Android开发的朋友多多少少都会碰见各种各样的问题,一般都怎么解决这些bug尼的朋友会说Debug,但是有没有想过,万一客户上线了尼过电话,说软件出错了,那这个时候如果不做错误收集,那么就会无法知道发生什么问题了,这个时候就需要我们自己手动的做错误收集了。
如图:
在第二页中写了一个除0的异常,然后进入后发生异常,记录到日志并存储到Sdcard中,最后返回上一页。
二、自定义我们的异常收集类CrashHandler
首先先自定义我们的CrashHandler并实现UncaughtExceptionHandler接口,并保留系统默认异常处理。
然后实现uncaughtException方法
Thread.UncaughtExceptionHandler.uncaughtException()会在线程因未捕获的异常而临近死亡时被调用。
正常的记录错误信息,把错误信息记录到手机卡中,如果异常为空,则把权限交给系统。
Build类,这个类定义了所有关于手机的一些参数,如版本 ,系统名称,Android版本等。
然后通过反射机制,把这些信息和错误信息一起记录到日志里面。
getDeclaredFields 获取所有属性
field.setAccessible(true); 可以读取private属性并可对其进行更改
好了,错误信息都记录完毕了,最后杀死我们的进程,返回上一级页面,这样是为了用户体验
当然正常的逻辑,也可以把这个记录的错误日志发到服务端
好了,最后在自定义的application中使用它吧
- public class MyApplication extends Application{
-
- @Override
- public void onCreate() {
-
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!