不知大家是否经常遇到这种情况:自己的项目有时会在没有连接到电脑时发生崩溃,好不容易发现的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)

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

  1. 《android 导入第三方源码jar包遇到的坑》

    最近想做个app,里面需要有一个二维码扫描的功能,然后谷歌之后发现Zxing这个用的人好多,就看看怎么用: 然后就在github上拉下他们的源码,导入eclipse,然后编译之后导出为jar文件[用的 ...

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

    Android事件分发机制 该篇文章出处:http://blog.csdn.net/guolin_blog/article/details/9097463 其实我一直准备写一篇关于Android事件分 ...

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

    转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/9153761 记得在前面的文章中,我带大家一起从源码的角度分析了Android中Vi ...

  4. Python的开源人脸识别库:离线识别率高达99.38%(附源码)

    Python的开源人脸识别库:离线识别率高达99.38%(附源码) 转https://cloud.tencent.com/developer/article/1359073   11.11 智慧上云 ...

  5. 解决SVN Cleanup时遇到错误信息:Cleanup failed to process the following paths:xxxxxxx Previous operation has not finished: run 'cleanup' if it was interrupted Please execute the 'Cleanup' command.

    解决SVN Cleanup时遇到错误信息:Cleanup failed to process the following paths:xxxxxxx Previous operation has no ...

  6. Maven自定义绑定插件目标:创建项目的源码jar

    <build> <plugins> <!-- 自定义绑定,创建项目的源码jar --> <plugin> <groupId>org.apac ...

  7. Android逆向之旅---反编译利器Apktool和Jadx源码分析以及错误纠正

    Android逆向之旅---反编译利器Apktool和Jadx源码分析以及错误纠正 http://blog.csdn.net/jiangwei0910410003/article/details/51 ...

  8. Android项目如果要将自己写的类写成要单独打成jar包?

    需求条件: 自己没做过android,公司android开发临时有事请假了,老板说让我研究研究,反正都是java.我心里"XXXXXX".这篇用来自己做个记录,老手请略过,Andr ...

  9. android高仿抖音、点餐界面、天气项目、自定义view指示、爬取美女图片等源码

    Android精选源码 一个爬取美女图片的app Android高仿抖音 android一个可以上拉下滑的Ui效果 android用shape方式实现样式源码 一款Android上的新浪微博第三方轻量 ...

随机推荐

  1. 一种M2M业务的架构及实现M2M业务的方法

    http://www.cnblogs.com/coryxie/p/3849764.html 技术领域 [0001] 本发明涉及通信技术领域,尤其涉及一种M2M业务的架构及实现M2M业务的方法. 背景技 ...

  2. 查看apt-get安装软件的版本

    apt-cache search name 查询 apt-get install name 安装 dpkg dpkg dpkg-checkbuilddeps dpkg-genchanges dpkg- ...

  3. Linux系统信息查看命令大全

    系统# uname -a # 查看内核/操作系统/CPU信息# head -n 1 /etc/issue # 查看操作系统版本# cat /proc/cpuinfo # 查看CPU信息# hostna ...

  4. Foundation框架—— 数组 (NSArray NSMutableArray )

    基础知识回顾 1.在给可变数组添加元素时,要保证该数组已被初始化 2.在遍历可变数组时,不能对其进行增删改 3.NSMutableArray继承自NSArray,几乎拥有NSArray的一切方法. 4 ...

  5. Java数据结构——解析算术表达式

  6. Java数据结构——栈

    //================================================= // File Name : Stack_demo //-------------------- ...

  7. MySQL学习笔记——存储过程

  8. Android学习笔记——Button

    该工程的功能是实现在activity中显示一个TextView和一个Button 以下代码是MainActivity中的代码 package com.example.button; import an ...

  9. C#----格式化字符串的操作

    class Program { static void Main(string[] args) { //DateTime dt = DateTime.Now; //Console.WriteLine( ...

  10. Mac技巧

    ////////////////////////////////////////////////////////////////////////////////PC键盘在Mac上的映射Ctrl = C ...