您的位置:首页 > 其它

安卓crash捕捉异常应用

2015-09-18 11:12 232 查看
安卓crash捕捉异常应用
一、捕捉异常后存入到手机本地

首先,导入crash类库(此类库可从本人资源分享中下载)



第二步,在继承application的类中初始化类库中的CrashHandler,如图中两行代码



并且在manifest文件中加入scard写入权限
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

第三步,尝试制造异常并捕捉查看





第四步,在手机中查找crash文件,即捕捉后异常错误





第五步、研究该捕捉异常的代码核心解释,如下:

public class CrashHandler implements UncaughtExceptionHandler {
private Thread.UncaughtExceptionHandler mDefaultHandler;

private static CrashHandler INSTANCE = new CrashHandler();

public static CrashHandler getInstance() {
return INSTANCE;
}

public void init(Context context) {
mContext = context;
mDefaultHandler = Thread.getDefaultUncaughtExceptionHandler();
Thread.setDefaultUncaughtExceptionHandler(this);
}

@Override
public void uncaughtException(Thread thread, Throwable ex) {

handleException(ex);
ex.printStackTrace();
// 退出程序
android.os.Process.killProcess(android.os.Process.myPid());
System.exit(1);
// }
}

}

实现接口UncaughtExceptionHandler ,必须重写方法uncaughtException,当捕捉到异常时回调方法uncaughtException,故此,在方法uncaughtException中写处理异常的方法,即写入本地的方法,异常为捕获到并传过来的ex。
init方法中两个及其重要的方法,其意思是,当捕捉到异常线程的handler时,为Thread设置一个系统默认的handler,已完成后面对捕获的handler处理的任务,具体可详见:http://www.cnblogs.com/freeliver54/archive/2011/10/17/2215423.html
http://blog.sina.com.cn/s/blog_793940aa0100vntj.html

二、捕捉异常后发送到邮箱

第一步,同上。

第二步,在继承application的类中初始化类库中的ErrorReportModel,

public class MyApp extends Application {
@Override
public void onCreate() {
super.onCreate();
SetMailbox();
// SaveLocal();
}

/**
* 保存crash至手机本地
*/
public void SaveLocal() {
CrashHandler crashHandler = CrashHandler.getInstance();
crashHandler.init(getApplicationContext());
}

/**

* 将crash发送到制定邮箱
*/
public void SetMailbox() {
ErrorReportModel errorReportModel = ErrorReportModel
.getErrorReportModel(this);
}

}

并且修改类库中的邮箱帐号(一般为你的QQ邮箱),如图:
<
9d52
span style="font-size:18px;">



打开类sendemailutil类,找到修改邮箱数组toEmails



第三步,制造崩溃。



第四步,邮箱收到崩溃邮件。



三、利用第三方数据统计收集崩溃信息(例如友盟统计分析)
http://www.umeng.com/analytics
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: