大家應(yīng)該都有所體會,在應(yīng)用開發(fā)中,我們常常會進(jìn)行日志打印或者debug調(diào)試,以此來分析運(yùn)行時的一些信息,便于發(fā)現(xiàn)bug和問題。Android Studio的Debug功能很好用,但是有時候有些情況下,就顯得不是那么快捷和便利。
比如
我們調(diào)試的點(diǎn)在應(yīng)用一打開的時候,很靠前,例如Application的onCreate方法中,以至于我們不能足夠快的設(shè)置進(jìn)程為debug模式
雖然上面的情況可以通過Android Studio的debug運(yùn)行來解決,但是如果項(xiàng)目很大的話,運(yùn)行起來也會比較耽誤時間
那么怎么解決上面的問題呢,其實(shí)只需要執(zhí)行一行命令即可
adb shell am set-debug-app -w com.example.jishuxiaoheiwu.appdebugsample
其中
set-debug-app 用來應(yīng)用為debug模式
-w 意思為wait,在進(jìn)程啟動的時候,等待debugger進(jìn)行連接
com.example.jishuxiaoheiwu.appdebugsample 代表想要調(diào)試的應(yīng)用的包名或ApplicationId
執(zhí)行上面的命令,當(dāng)我們再次啟動目標(biāo)應(yīng)用時,會得到這樣的畫面
然后,我們就會有足夠的時間,來使用Run—> Attach Debugger to Android Process 來綁定進(jìn)程debug。 綁定后對話框消失,下次啟動就是正常的啟動(沒有上面的對話框了)
那么一次debug不一定能解決問題,多次調(diào)試則在所難免,那么每次都要執(zhí)行這個命令么?
答案是可以,但是有更好的方式。即
adb shell am set-debug-app -w --persistent com.example.jishuxiaoheiwu.appdebugsample
上面的代碼和之前有所不同,表現(xiàn)在一個—persistent
—persitent意思是持久的,意思是一直設(shè)置這個應(yīng)用為調(diào)試模式,即每次開啟(進(jìn)程創(chuàng)建)都會彈出對話框,即使卸載再安裝或者更新應(yīng)用
如果多次debug完成后,解決了問題,想要恢復(fù)正常的啟動也很簡單
adb shell am clear-debug-app
這個調(diào)試的方法很簡單,但是可能會節(jié)省我們很多的寶貴時間。希望可以幫助到各位開發(fā)同行。
另外,當(dāng)你的開發(fā)中遇到效率問題時,你需要做出思考,發(fā)覺更快捷的工作方式,而不是為了調(diào)試Application中onCreate方法中的代碼,每次都點(diǎn)擊Android Studio的debug按鈕。