在應(yīng)用開發(fā)中蠢壹,我們常常會(huì)進(jìn)行日志打印或者debug調(diào)試,以此來分析運(yùn)行時(shí)的一些信息,便于發(fā)現(xiàn)bug和問題串绩。Android Studio的Debug功能很好用,但是有時(shí)候有些情況下芜壁,就顯得不是那么快捷和便利礁凡。
比如
- 我們調(diào)試的點(diǎn)在應(yīng)用一打開的時(shí)候,很靠前慧妄,例如Application的onCreate方法中顷牌,以至于我們不能足夠快的設(shè)置進(jìn)程為debug模式
- 雖然上面的情況可以通過Android Studio的debug運(yùn)行來解決,但是如果項(xiàng)目很大的話塞淹,運(yùn)行起來也會(huì)比較耽誤時(shí)間
那么怎么解決上面的問題呢窟蓝,其實(shí)只需要執(zhí)行一行命令即可
adb shell am set-debug-app -w com.example.jishuxiaoheiwu.appdebugsample
其中
set-debug-app 用來應(yīng)用為debug模式
-w 意思為wait,在進(jìn)程啟動(dòng)的時(shí)候饱普,等待debugger進(jìn)行連接
-
com.example.jishuxiaoheiwu.appdebugsample
代表想要調(diào)試的應(yīng)用的包名或ApplicationId
執(zhí)行上面的命令运挫,當(dāng)我們?cè)俅螁?dòng)目標(biāo)應(yīng)用時(shí),會(huì)得到這樣的畫面
然后套耕,我們就會(huì)有足夠的時(shí)間谁帕,來使用Run—> Attach Debugger to Android Process 來綁定進(jìn)程debug。 綁定后對(duì)話框消失冯袍,下次啟動(dòng)就是正常的啟動(dòng)(沒有上面的對(duì)話框了)
那么一次debug不一定能解決問題雇卷,多次調(diào)試則在所難免,那么每次都要執(zhí)行這個(gè)命令么颠猴?
答案是可以关划,但是有更好的方式。即
adb shell am set-debug-app -w --persistent com.example.jishuxiaoheiwu.appdebugsample
上面的代碼和之前有所不同翘瓮,表現(xiàn)在一個(gè)—persistent
- —persitent意思是持久的贮折,意思是一直設(shè)置這個(gè)應(yīng)用為調(diào)試模式,即每次開啟(進(jìn)程創(chuàng)建)都會(huì)彈出對(duì)話框资盅,即使卸載再安裝或者更新應(yīng)用
如果多次debug完成后调榄,解決了問題踊赠,想要恢復(fù)正常的啟動(dòng)也很簡(jiǎn)單
adb shell am clear-debug-app
這個(gè)調(diào)試的方法很簡(jiǎn)單,但是可能會(huì)節(jié)省我們很多的寶貴時(shí)間每庆。希望可以幫助到各位開發(fā)同行筐带。
另外,當(dāng)你的開發(fā)中遇到效率問題時(shí)缤灵,你需要做出思考伦籍,發(fā)覺更快捷的工作方式,而不是為了調(diào)試Application中onCreate方法中的代碼腮出,每次都點(diǎn)擊Android Studio的debug按鈕帖鸦。
轉(zhuǎn)載:http://droidyue.com/blog/2017/05/14/a-little-but-useful-debug-skill_for_android/