今天App出了個bug同诫,在某個Activity里出現(xiàn)了crash。氣人的是,App crash后恼蓬,自動重啟了一個新的App進程(ID:28965),舊的是(ID:28088)僵芹。問題是重啟新的進程后处硬,原來進程的logcat日志看不到了!D磁伞郁油!
看不到崩潰日志怎么行!這里使用強大的adb(Android Debug Bridge)將logcat日志實時寫入本地文件里攀痊。
首先得先找到adb,我這里是Mac OS環(huán)境拄显,安裝的是Android Studio苟径,可以在/Users/用戶名/Library/Android/sdk/platform-tools/下找到adb工具。現(xiàn)在要做的是把adb加入到環(huán)境變量里躬审。
打開終端棘街,輸入vim ~/.bash_profile,按i進入編輯模式承边,輸入
export PATH=${PATH}:/Users/用戶名/Library/Android/sdk/platform-tools
export PATH=${PATH}:/Users/用戶名/Library/Android/sdk/tools
按Esc退出編輯模式遭殉,輸入:wq(寫入并退出)。
接著終端輸入 source ~/.bash_profile博助,回車险污。
到這里環(huán)境變量應(yīng)該就加好了「辉溃可以通過輸入adb version來看一下是否ok:
接下來可以使用adb來記錄logcat日志了:
執(zhí)行了這句命令后蛔糯,不要關(guān)閉終端,然后再操作bug重現(xiàn)步驟窖式。到日志所在目錄下找到log.txt蚁飒,用編輯器打開,定位到crash的地方萝喘,就可以知道bug出在了什么地方淮逻。
原來是在null對象上調(diào)用了equals方法琼懊,低級錯誤,慚愧爬早。
如果不想再記錄日志了哼丈,按Ctrl+C結(jié)束終端命令。
adb的其他命令可參考官方文檔凸椿。