Android小技巧 Part III——How to get Android crash logs

Android開發(fā)遇到程序crash時(shí),常常無(wú)法看到log,給開發(fā)調(diào)試帶來(lái)了不小的困難,通過下面的簡(jiǎn)單方法,可以有效的獲取log并輸出出來(lái)(通過Logcat、日志文件等等)。

自定義ExceptionHandler,繼承Thread.UncaughtExceptionHandler

public class TopExceptionHandler implements Thread.UncaughtExceptionHandler {

    private Thread.UncaughtExceptionHandler defaultUEH;

    private Activity app = null;

    public TopExceptionHandler(Activity app) {
        this.defaultUEH = Thread.getDefaultUncaughtExceptionHandler();
        this.app = app;
    }

    public void uncaughtException(Thread t, Throwable e) {
        StackTraceElement[] arr = e.getStackTrace();
        String report = e.toString() + "\n\n";
        report += "--------- Stack trace ---------\n\n";
        for (int i = 0; i < arr.length; i++) {
            report += "    " + arr[i].toString() + "\n";
        }
        report += "-------------------------------\n\n";
        //輸出到LogCat
        Log.e("XXX",report);
        //輸出到其他
        //TODO;
        defaultUEH.uncaughtException(t, e);
    }
}

在Activity中使用Handler

@Override
public void onCreate(Bundle savedInstanceState)
{
  super.onCreate(savedInstanceState);
  Thread.setDefaultUncaughtExceptionHandler(new TopExceptionHandler(this));
  //TODO;
  //……
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容