我想爲我的Android應用創建日誌文件。我需要這個來調試應用程序的隨機崩潰。爲Android應用創建日誌文件
我想創建一個函數,如果有一個unhandelled異常,總是會被調用。在日誌中我想要異常消息。是否有任何類型的機制會在ANdroid的unhandelled異常中被調用?
我想爲我的Android應用創建日誌文件。我需要這個來調試應用程序的隨機崩潰。爲Android應用創建日誌文件
我想創建一個函數,如果有一個unhandelled異常,總是會被調用。在日誌中我想要異常消息。是否有任何類型的機制會在ANdroid的unhandelled異常中被調用?
您可以使用UncaughtExceptionHandler
如下圖所示:
public class UncaughtExceptionHandler implements java.lang.Thread.UncaughtExceptionHandler {
String Tag;
Context myContext;
public UncaughtExceptionHandler(Context context, String TAG) {
Tag = TAG;
myContext = context;
}
public void uncaughtException(Thread thread, Throwable exception) {
StringWriter sw = new StringWriter();
exception.printStackTrace(new PrintWriter(sw));
Logger.appendErrorLog(sw.toString(), Tag);
Intent intent = new Intent(myContext, ForceClose.class);
intent.putExtra(BugReportActivity.STACKTRACE, sw.toString());
myContext.startActivity(intent);
Process.killProcess(Process.myPid());
System.exit(10);
}
}
調用這個類中的第一個活動的onCreate()
方法:
Thread.setDefaultUncaughtExceptionHandler(new UncaughtExceptionHandler(getApplicationContext(),"FirstActivity"));
你可以寫自己的日誌貓,
當你的應用程序安裝在真正的Android設備,而不是連接到Eclipse獲得詳細的調試信息...
請檢查教程:Read & Store Log-cat Programmatically in Android
您也可以查看this stack-overflow頁面我已經發布解決方案代碼片段和相關的有用信息。
爲什麼logcat的輸出還不夠嗎? – Henry
@Henry該應用程序將安裝在設備上,我想解決它爲什麼崩潰,通過將日誌保存到SD卡 – Jaguar
當設備通過USB連接到PC時,您可以獲得此信息。即使您在碰撞後不久連接設備也能正常工作。 – Henry