Android開發(fā)中一個(gè)簡(jiǎn)單實(shí)用的調(diào)試應(yīng)用技巧分享
前言
大家應(yīng)該都有所體會(huì),在應(yīng)用開發(fā)中,我們常常會(huì)進(jìn)行日志打印或者debug調(diào)試,以此來(lái)分析運(yùn)行時(shí)的一些信息,便于發(fā)現(xiàn)bug和問(wèn)題。Android Studio的Debug功能很好用,但是有時(shí)候有些情況下,就顯得不是那么快捷和便利。
比如
- 我們調(diào)試的點(diǎn)在應(yīng)用一打開的時(shí)候,很靠前,例如Application的onCreate方法中,以至于我們不能足夠快的設(shè)置進(jìn)程為debug模式
- 雖然上面的情況可以通過(guò)Android Studio的debug運(yùn)行來(lái)解決,但是如果項(xiàng)目很大的話,運(yùn)行起來(lái)也會(huì)比較耽誤時(shí)間
那么怎么解決上面的問(wèn)題呢,其實(shí)只需要執(zhí)行一行命令即可
adb shell am set-debug-app -w com.example.jishuxiaoheiwu.appdebugsample
其中
set-debug-app用來(lái)應(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í)間,來(lái)使用Run—> Attach Debugger to Android Process 來(lái)綁定進(jìn)程debug。 綁定后對(duì)話框消失,下次啟動(dòng)就是正常的啟動(dòng)(沒有上面的對(duì)話框了)
那么一次debug不一定能解決問(wèn)題,多次調(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完成后,解決了問(wèn)題,想要恢復(fù)正常的啟動(dòng)也很簡(jiǎn)單
adb shell am clear-debug-app
這個(gè)調(diào)試的方法很簡(jiǎn)單,但是可能會(huì)節(jié)省我們很多的寶貴時(shí)間。希望可以幫助到各位開發(fā)同行。
另外,當(dāng)你的開發(fā)中遇到效率問(wèn)題時(shí),你需要做出思考,發(fā)覺更快捷的工作方式,而不是為了調(diào)試Application中onCreate方法中的代碼,每次都點(diǎn)擊Android Studio的debug按鈕。
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)各位Android開發(fā)者們能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
Android簡(jiǎn)單實(shí)現(xiàn)一個(gè)顏色漸變的ProgressBar的方法
本篇文章主要介紹了Android簡(jiǎn)單實(shí)現(xiàn)一個(gè)顏色漸變的ProgressBar的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-12-12
Android 多線程實(shí)現(xiàn)重復(fù)啟動(dòng)與停止的服務(wù)
這篇文章主要介紹了Android 多線程實(shí)現(xiàn)重復(fù)啟動(dòng)與停止的服務(wù)的相關(guān)資料,多線程環(huán)境下為了避免死鎖,一般提倡開放調(diào)用,開放調(diào)用可以避免死鎖,它的代價(jià)是失去原子性,這里說(shuō)明重復(fù)啟動(dòng)與停止的服務(wù),需要的朋友可以參考下2017-08-08
Android利用CountDownTimer實(shí)現(xiàn)倒計(jì)時(shí)功能 Android實(shí)現(xiàn)停留5s跳轉(zhuǎn)到登錄頁(yè)面
這篇文章主要為大家詳細(xì)介紹了Android利用CountDownTimer實(shí)現(xiàn)倒計(jì)時(shí)功能,Android實(shí)現(xiàn)停留5s跳轉(zhuǎn)到登錄頁(yè)面,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07
Android實(shí)現(xiàn)網(wǎng)絡(luò)多線程斷點(diǎn)續(xù)傳下載功能
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)網(wǎng)絡(luò)多線程斷點(diǎn)續(xù)傳下載功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-03-03
android Launcher AppWidget添加步驟介紹
大家好,本篇文章主要講的是android Launcher AppWidget添加步驟介紹,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽2022-01-01
Android Animation實(shí)戰(zhàn)之屏幕底部彈出PopupWindow
這篇文章主要為大家介紹了Android Animation動(dòng)畫實(shí)戰(zhàn)項(xiàng)目,屏幕底部彈出PopupWindow,如何實(shí)現(xiàn)?文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-01-01
Android貝塞爾曲線實(shí)現(xiàn)消息拖拽消失
這篇文章主要為大家詳細(xì)介紹了Android貝塞爾曲線實(shí)現(xiàn)消息拖拽消失,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-01-01
Android自定義view之圍棋動(dòng)畫效果的實(shí)現(xiàn)
這篇文章主要介紹了Android自定義view之圍棋動(dòng)畫效果的實(shí)現(xiàn),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12

