[开源类库/项目] android保存崩溃时的错误信息log至本地【源码+jar包+使用说...

不知大家是否经常遇到这种情况:自己的项目有时会在没有连接到电脑时发生崩溃,好不容易发现的bug结果连接到电脑时又复现不出来了;又或者自己写的一个功能在开机启动时产生小bug导致崩溃,而刚启动的机器想让他打出log又不是那么容易。
此时我们有必要将程序的崩溃信息写入本地的文件,方便我们做bug的修复。
本项目为开源共同讨论的,奉上项目源码(有javadoc),以及打包好的jar包还有jar包的使用手册。

如果看官自行阅读源码,代码均有注释,应该简明易懂。
如果看官想直接使用,请看下文的使用手册。
推荐直接使用jar包的方式引用至项目中,这样不用每个项目都粘贴一下源码了。
*************************割*****************************
1.下载CrashHelper.rar,解压缩得到CrashHelper.jar文件,将文件拷贝到项目的libs文件夹下。并且右键点击CrashHelper.jar-->Build path-->Add To Build Path.如下图所示
<ignore_js_op><ignore_js_op> 
(注:由于编辑器不一样可能看见的视图效果会不一样,笔者此时用的是ADT v21.0.1   由google的adt-bundle-windows.rar中的eclipse直接集成)
新版的ADT可以直接将libs下的jar包或者库直接列入Android Dependencies中,则无需手动添加至Build Path了,更智能化了!
2.在自己项目中的自定义Application中的onCreate中使用以下2个方法:
public class MyApplication extends Application {
        /**
         *         (non-Javadoc)
         *         @see android.app.Application#onCreate()
         */
        @ Override
        public void onCreate() {
                super.onCreate() ;
                CrashHandler crashHandler = CrashHandler.getInstance() ;
                crashHandler.init(this) ;
        }
}
3.在Manifest.xml中将自定义的Application声明为程序主Application,并且别忘了配上写SD卡的权限
<ignore_js_op>

以上3个步骤后即可使用此jar包,自己的项目可以放在手机里随身带着,跑一天下来看看SD卡根目录下的/CrashInfos/文件夹下收集到的错误信息

<ignore_js_op><ignore_js_op> 
以下是附件
<ignore_js_op> CrashHelper.zip (799.77 KB, 下载次数: 237) 
************************************************************
细心的朋友可能发现了,此功能一旦加入了项目中去后,所有的崩溃的错误信息都保存到sd卡里了,对我们的连调反而极大降低了效率,所以笔者再次更新jar包,这样在保存文件的同时也将错误日志输出到了控制台,双管输出。如下图,注意看一下时间就知道了是同一个异常输出到了2个地方。
<ignore_js_op><ignore_js_op> 
现在将新的jar包和源码奉上
<ignore_js_op> NewCrashHelper.zip (1.04 MB, 下载次数: 784)

时间: 2024-07-30 20:30:40

[开源类库/项目] android保存崩溃时的错误信息log至本地【源码+jar包+使用说...的相关文章

Linux下使用vi新建文件保存文件时遇到错误:E212: Can&#39;t open file for writing

出现E212: Can't open file for writing的问题是由于权限问题导致的,解决方法有以下思路: 1.使用root进行登录,然后再操作. 2.在使用命令时,前面加sudo. 3.如果是多级文件夹的文件时,由于这个文件夹没有创建,所以要先创建这个文件夹,再来操作这个文件. Linux下使用vi新建文件保存文件时遇到错误:E212: Can't open file for writing

[学习总结]6、Android异步消息处理机制完全解析,带你从源码的角度彻底理解

开始进入正题,我们都知道,Android UI是线程不安全的,如果在子线程中尝试进行UI操作,程序就有可能会崩溃.相信大家在日常的工作当中都会经常遇到这个问题,解决的方案应该也是早已烂熟于心,即创建一个Message对象,然后借助Handler发送出去,之后在Handler的handleMessage()方法中获得刚才发送的Message对象,然后在这里进行UI操作就不会再出现崩溃了. 这种处理方式被称为异步消息处理线程,虽然我相信大家都会用,可是你知道它背后的原理是什么样的吗?今天我们就来一起

Android 5.0内核和源代码学习(2)——源码下载和系统启动过程分析

一.Android源码下载 上一次简单介绍了Android系统的层次结构,这次开始动真格了--下载源码和分析源码! 那么,Android的源码从哪下?当然是谷歌官网,下载方法官网也讲得很详细,但是奈何中国的墙比较厚,所以上面的办法是没用的,当然,有些是有用的,地址:http://source.android.com/source/downloading.html 谷歌官网没办法下,幸好还有一些国内网站,废话不多说,直接开始步骤: 工具和环境:VM虚拟机+Ubantu14系统 第一步:Ubantu

Android事件分发机制完全解析,带你从源码的角度彻底理解(上)

转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/9097463 其实我一直准备写一篇关于Android事件分发机制的文章,从我的第一篇博客开始,就零零散散在好多地方使用到了Android事件分发的知识.也有好多朋友问过我各种问题,比如:onTouch和onTouchEvent有什么区别,又该如何使用?为什么给ListView引入了一个滑动菜单的功能,ListView就不能滚动了?为什么图片轮播器里的图片使用Button而不用Ima

[转]Android事件分发机制完全解析,带你从源码的角度彻底理解(上)

Android事件分发机制 该篇文章出处:http://blog.csdn.net/guolin_blog/article/details/9097463 其实我一直准备写一篇关于Android事件分发机制的文章,从我的第一篇博客开始,就零零散散在好多地方使用到了Android事件分发的知识. 也有好多朋友问过我各种问题,比如:onTouch和onTouchEvent有什么区别,又该如何使用?为什么给ListView引入了一个滑动菜单的 功能,ListView就不能滚动了?为什么图片轮播器里的图

(转) Android事件分发机制完全解析,带你从源码的角度彻底理解(上)

转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/9097463 其实我一直准备写一篇关于Android事件分发机制的文章,从我的第一篇博客开始,就零零散散在好多地方使用到了Android事件分发的知识.也有好多朋友问过我各种问题,比如:onTouch和onTouchEvent有什么区别,又该如何使用?为什么给ListView引入了一个滑动菜单的功能,ListView就不能滚动了?为什么图片轮播器里的图片使用Button而不用Ima

【转】Android事件分发机制完全解析,带你从源码的角度彻底理解(下)

转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/9153761 记得在前面的文章中,我带大家一起从源码的角度分析了Android中View的事件分发机制,相信阅读过的朋友对View的事件分发已经有比较深刻的理解了. 还未阅读过的朋友,请先参考 Android事件分发机制完全解析,带你从源码的角度彻底理解(上) . 那么今天我们将继续上次未完成的话题,从源码的角度分析ViewGruop的事件分发. 首先我们来探讨一下,什么是View

CSDN开源夏令营 基于Compiz的switcher插件设计与实现之编译compiz源码

在开始介绍之前先吐个嘈:上周我们暑期ACM集训开始了,平均下来基本上是一天一赛,有时还不止,又是多校联赛,又是CodeForces,又是TopCoder,又是BestCoder,又是AcDream,还有学校自己组织的个人赛,组队赛,感觉累成狗了,上周好多时间都用来比赛和训练了,项目这边花的时间就有点少了,感觉挺对不起老师的,唉-. 之前一直在为项目的实现做一些准备工作(搭建各种环境,熟悉各种操作什么的),现在感觉准备工作做的差不多了,差不多要进入开发阶段了.由于我之前没有接触过开发插件这样的项目

Android静态图片人脸识别的完整demo(附完整源码)

Demo功能:利用android自带的人脸识别进行识别,标记出眼睛和人脸位置.点击按键后进行人脸识别,完毕后显示到imageview上. 第一部分:布局文件activity_main.xml [html] view plaincopyprint? <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.co