您的位置:首页 > 移动开发 > Android开发

保留所有Android crash信息

2015-07-02 10:02 597 查看
保留所有Android crash信息



framework/base/core/java/com/android/internal/os/RuntimeInit.java

重新下面这个函数,加入自己的代码,把信息保存下来,或者发回服务器

*/

private static class UncaughtHandler implements Thread.UncaughtExceptionHandler {

public void uncaughtException(Thread t, Throwable e) {

try {

// Don't re-enter -- avoid infinite loops if crash-reporting crashes.

if (mCrashing) return;

mCrashing = true;

if (mApplicationObject == null) {

Clog_e(TAG, "*** FATAL EXCEPTION IN SYSTEM PROCESS: " + t.getName(), e);

} else {

StringBuilder message = new StringBuilder();

message.append("FATAL EXCEPTION: ").append(t.getName()).append("\n");

final String processName = ActivityThread.currentProcessName();

if (processName != null) {

message.append("Process: ").append(processName).append(", ");

}

message.append("PID: ").append(Process.myPid());

Clog_e(TAG, message.toString(), e);

}

// Bring up crash dialog, wait for it to be dismissed

ActivityManagerNative.getDefault().handleApplicationCrash(

mApplicationObject, new ApplicationErrorReport.CrashInfo(e));


} catch (Throwable t2) {

try {

Clog_e(TAG, "Error reporting crash", t2);

} catch (Throwable t3) {

// Even Clog_e() fails! Oh well.

}

} finally {

// Try everything to make sure this process goes away.

Process.killProcess(Process.myPid());

System.exit(10);

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: