[开源类库/项目] 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)
[开源类库/项目] android保存崩溃时的错误信息log至本地【源码+jar包+使用说...的更多相关文章
- 《android 导入第三方源码jar包遇到的坑》
最近想做个app,里面需要有一个二维码扫描的功能,然后谷歌之后发现Zxing这个用的人好多,就看看怎么用: 然后就在github上拉下他们的源码,导入eclipse,然后编译之后导出为jar文件[用的 ...
- [转]Android事件分发机制完全解析,带你从源码的角度彻底理解(上)
Android事件分发机制 该篇文章出处:http://blog.csdn.net/guolin_blog/article/details/9097463 其实我一直准备写一篇关于Android事件分 ...
- 【转】Android事件分发机制完全解析,带你从源码的角度彻底理解(下)
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/9153761 记得在前面的文章中,我带大家一起从源码的角度分析了Android中Vi ...
- Python的开源人脸识别库:离线识别率高达99.38%(附源码)
Python的开源人脸识别库:离线识别率高达99.38%(附源码) 转https://cloud.tencent.com/developer/article/1359073 11.11 智慧上云 ...
- 解决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 ...
- Maven自定义绑定插件目标:创建项目的源码jar
<build> <plugins> <!-- 自定义绑定,创建项目的源码jar --> <plugin> <groupId>org.apac ...
- Android逆向之旅---反编译利器Apktool和Jadx源码分析以及错误纠正
Android逆向之旅---反编译利器Apktool和Jadx源码分析以及错误纠正 http://blog.csdn.net/jiangwei0910410003/article/details/51 ...
- Android项目如果要将自己写的类写成要单独打成jar包?
需求条件: 自己没做过android,公司android开发临时有事请假了,老板说让我研究研究,反正都是java.我心里"XXXXXX".这篇用来自己做个记录,老手请略过,Andr ...
- android高仿抖音、点餐界面、天气项目、自定义view指示、爬取美女图片等源码
Android精选源码 一个爬取美女图片的app Android高仿抖音 android一个可以上拉下滑的Ui效果 android用shape方式实现样式源码 一款Android上的新浪微博第三方轻量 ...
随机推荐
- Nginx系列2之Nginx+php
preface 公司所有的大多数业务都泡在LNMP平台上,所以对PHP+Nginx有点了解,那么就做个小小的总结吧. what's FastCGi FastCGI是一个可伸缩,高速的在HTTP ser ...
- css中 Span 元素的 width 属性无效果原因及多种解决方案
先运行下程序看下: <span style='width:300px;'>123</span> 输出:123 可以看到 span会自动根据包含的内容来变化宽度 这是因为:对于内 ...
- 才知道创建数据表的后面int(M)的m居然和存储大小没有关系
之前一直以为,后面m代表有几个字节 MySQL 数据类型中的 integer types 有点奇怪.你可能会见到诸如:int(3).int(4).int(8) 之类的 int 数据类型.刚接触 MyS ...
- 调用startActivityForResult,onActivityResult无响应的解决办法
三种情况: 1.执行startActivityForResult,没等到被调用的 Activity 返回,onActivityResult() 就被执行了.找了很久,终于通过小道消息得知,这与 Act ...
- (新手向)基于Bootstrap的简单轮播图的手机实现
个人电脑里存了不少适合手机欣赏的图片,但是放手机里看是件很占据资源的事.鉴于家里有一台电脑经常开着,正好用来做家庭局域网共享,于是笔者就设想通过一种比较简单环保的思路.通过手机访问电脑内的图片. 首先 ...
- asp.net 中的app_offline.htm的使用
前段时间,系统升级,由于系统更新发布时间较长,所以必须停掉站点进行更新.导致很多用户都来反馈系统无法访问,还认为站点被黑掉了. 所以经过那件事我们也在思考,如何做到不停机,进行热部署.单机环境下(双机 ...
- Robot Framework--07 变量的声明、赋值及其使用
转自:http://blog.csdn.net/tulituqi/article/details/7984642 一.变量的声明 1.变量标识符 每个变量都可以用 变量标识符{变量名} 来进行 ...
- Yii2-admin RBAC权限管理的实现
原文地址:http://www.open-open.com/lib/view/open1434638805348.html http://wlzyan.blog.163.com/blog/stat ...
- Java调试
线上load高的问题排查步骤是: 先用top找到耗资源的进程 ps+grep找到对应的java进程/线程 jstack分析哪些线程阻塞了,阻塞在哪里 jstat看看FullGC频率 jmap看看有没有 ...
- Orchard源码分析(5):Host相关(Orchard.Environment.DefaultOrchardHost类)
概述 Host 是应用程序域级的单例,代表了Orchard应用程序.其处理应用程序生命周期中的初始化.BeginRequest事件.EndRequest事件等. 可以简单理解为HttpApplicat ...