該庫(kù)主要用于抓取程序異常崩潰信息并存儲(chǔ)到本地,便于測(cè)試程序崩潰時(shí)纯路,容易查找問(wèn)題或油。
該庫(kù)還具有在本地文件打印log信息,方便在調(diào)試的時(shí)候查看開發(fā)中產(chǎn)生的信息驰唬。
之前在開發(fā)階段中抓取異常崩潰信息一直使用的騰訊的Bugly顶岸,但是在使用過(guò)程中發(fā)現(xiàn)好多時(shí)候異常崩潰信息報(bào)不上去,一旦測(cè)試無(wú)法復(fù)現(xiàn)的時(shí)候叫编,就無(wú)從查看該異常崩潰信息辖佣,但是有時(shí)候碰到異常崩潰但是也無(wú)從下手,所以就寫了一個(gè)本地緩存異常的框架宵溅。
github的地址:https://github.com/zzw8421/ZCrash
Zcrash的集成與使用
1.在build.gradle(app)中引用
在dependencies 添加 :
implementation 'com.zzw.zcrash:zcrash:1.0.1'
如果出現(xiàn)引用失敗的問(wèn)題凌简,請(qǐng)查看build.gradle(項(xiàng)目)中是否添加了Jcenter庫(kù)上炎。
2.在Application中初始化
在自己自定義的applicationh中添加一下代碼恃逻,初始化Zcrash。
ZCrashHelper.create(this);
如果需要使用自定義配置:
請(qǐng)實(shí)例化ZCrashOption該類藕施。
方法 | 說(shuō)明 |
---|---|
setDirPath | 設(shè)置Zcrash的根存儲(chǔ)路徑 |
setLogTAG | 設(shè)置Zcrash在LogCat中打印信息的TAG |
setCrashSolveType | 設(shè)置發(fā)生異常后的處理方式(默認(rèn)RESTARTAPP) |
setPaintSpanCount | 設(shè)置每個(gè)異常信息的間距 |
setIsPaintDetail | 設(shè)置是否顯示詳細(xì)信息(暫未實(shí)現(xiàn)) |
setShowTip | 設(shè)置是否打印Toast提示崩潰問(wèn)題(暫未實(shí)現(xiàn)) |
CrashSolveType共有三種類型可供選擇:
類型 | 說(shuō)明 |
---|---|
SHUTDOWNAPP | 直接關(guān)閉該APP |
RESTARTAPP | 重新啟動(dòng)該APP(默認(rèn)) |
USERDEFINED | 自定義處理(需設(shè)置回調(diào)接口) |
自定義處理接口可通過(guò)該方法設(shè)置
自定義配置完成后在Application中通過(guò)該方法進(jìn)行初始化:
ZCrashHelper.create(this, zCrashOption);
以上配置完成
當(dāng)有異常觸發(fā)的時(shí)候會(huì)在本地設(shè)置的根目錄里面以項(xiàng)目包名創(chuàng)建一個(gè)文件夾寇损。
若使用默認(rèn)配置的話 路徑為 /storage/emulated/0/crashLog/。
其中 crash_2019_09_19文件則為異常抓捕信息記錄的txt,該異常信息以天為單位存儲(chǔ)在txt中裳食,若當(dāng)天中有多個(gè)異常則追加到該日期txt下矛市。
異常信息捕捉如下:
提示
如果想在手機(jī)端查看異常信息可以下載一個(gè)ES文件瀏覽器進(jìn)行查看。
或者使用abd命令 導(dǎo)出在電腦端查看诲祸。
adb pull /storage/emulated/0/crashLog C:\Users\zzw\Desktop
使用時(shí)將路徑修改為自己設(shè)置的路徑浊吏。
ZLog的使用
ZLog主要是用來(lái)在本地存儲(chǔ)Log的,主要用于后期測(cè)試在測(cè)試APP時(shí)無(wú)法在LogCat中打印日志救氯,所以可以將一些重要日志打印到本地并持久化存儲(chǔ)找田,便于后期查看和追蹤問(wèn)題。
初始化
在自定義的application中通過(guò)一下代碼進(jìn)行ZLog的初始化
ZLogHelper.init(this);
由于比較懶直接使用了ZCrash中的一些配置着憨,所以請(qǐng)?jiān)诔跏蓟臅r(shí)候一定在ZCrash的初始化后面進(jìn)行墩衙。
使用
ZLog.v("MainActivity", "這是一條用來(lái)測(cè)試靜態(tài)類的Log");
本地打印log跟在LogCat上打印log使用基本一致,打印后會(huì)存儲(chǔ)在ZCrash中的配置的路徑中的TAG文件夾中,以打印時(shí)的 TAG進(jìn)行創(chuàng)建文件
具體打印出來(lái)的信息如下:
包含打印時(shí)間漆改,打印級(jí)別 心铃,在代碼中的位置和輸出的Log信息。