安卓獲取APP的崩潰日志

一、前言:

卓APP一旦發(fā)生任何報(bào)錯(cuò),就會(huì)停止運(yùn)行,這是令許多開發(fā)者頭疼的問題,
很多情況下,一些隱性BUG在測(cè)試部門通過,而在上架之后發(fā)生小面積崩潰,這時(shí)候的報(bào)錯(cuò)因?yàn)闆]有日志,導(dǎo)致BUG無從查起。

那么,只能通過用戶反饋消耗大量的人力和時(shí)間去復(fù)現(xiàn)它嗎?

二、解決:

其實(shí)只要在Application中插入一小段代碼,就可以把完整的錯(cuò)誤日志全部捕捉出來:

        //記錄崩潰信息
        final Thread.UncaughtExceptionHandler defaultHandler = Thread.getDefaultUncaughtExceptionHandler();
        Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {
            @Override
            public void uncaughtException(Thread thread, Throwable throwable) {
                //獲取崩潰時(shí)的UNIX時(shí)間戳
                long timeMillis = System.currentTimeMillis();
                //將時(shí)間戳轉(zhuǎn)換成人類能看懂的格式,建立一個(gè)String拼接器
                StringBuilder stringBuilder = new StringBuilder(new SimpleDateFormat("yyyy/MM/dd HH:mm:ss").format(new Date(timeMillis)));
                stringBuilder.append(":\n");
                //獲取錯(cuò)誤信息
                stringBuilder.append(throwable.getMessage());
                stringBuilder.append("\n");
                //獲取堆棧信息
                StringWriter sw = new StringWriter();
                PrintWriter pw = new PrintWriter(sw);
                throwable.printStackTrace(pw);
                stringBuilder.append(sw.toString());
 
                //這就是完整的錯(cuò)誤信息了,你可以拿來上傳服務(wù)器,或者做成本地文件保存等等等等
                String errorLog = stringBuilder.toString();
 
                //最后如何處理這個(gè)崩潰,這里使用默認(rèn)的處理方式讓APP停止運(yùn)行
                defaultHandler.uncaughtException(thread, throwable);
            }
        });

參考鏈接:https://blog.csdn.net/u014653815/article/details/81363869

?著作權(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)容

  • 碼字辛苦!轉(zhuǎn)載請(qǐng)注明出處! 安卓APP一旦發(fā)生任何報(bào)錯(cuò),就會(huì)停止運(yùn)行,這是令許多開發(fā)者頭疼的問題, 很多情況下,一...
    Eternity嵐閱讀 13,288評(píng)論 1 4
  • 作為一名應(yīng)用開發(fā)者,你是否有過如下經(jīng)歷?經(jīng)常被領(lǐng)導(dǎo)叫去,讓看哪位哪位客戶運(yùn)行APP又崩潰了,感覺解決;天天被產(chǎn)品狗...
    繼續(xù)向前沖閱讀 3,004評(píng)論 0 9
  • 作為一名應(yīng)用開發(fā)者,你是否有過如下經(jīng)歷? 為確保你的應(yīng)用正確無誤,在將其提交到應(yīng)用商店之前,你必定進(jìn)行了大量的測(cè)試...
    姚姚先生閱讀 715評(píng)論 0 1
  • 轉(zhuǎn)自:http://www.cocoachina.com/industry/20130725/6677.html ...
    mandygao閱讀 713評(píng)論 0 4
  • 出處:http://www.iteye.com轉(zhuǎn)自 http://www.raywenderlich.com/zh...
    中二修行者閱讀 932評(píng)論 0 0

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