java 安卓调试,Android Studio(二十一):调试你的应用
Android Studio包含了一個(gè)調(diào)試器,允許你調(diào)試運(yùn)行在Android虛擬機(jī)或連接的Android設(shè)備的應(yīng)用。通過(guò)Android Studio的調(diào)試器,你可以:
1、 選擇你調(diào)試設(shè)備的app
2、 為你的代碼設(shè)置斷點(diǎn)
3、 在運(yùn)行時(shí)檢測(cè)變量和表達(dá)式
4、 截圖和錄像
通過(guò)點(diǎn)擊工具欄中的Debug按鈕來(lái)開(kāi)始調(diào)試,Android Studio生成一個(gè)APK,并且使用調(diào)試key進(jìn)行簽名,安裝到選定的設(shè)備中運(yùn)行并打開(kāi)調(diào)試Debug窗口。
如果點(diǎn)擊Debug后,在Select Deployment Target窗口沒(méi)有出現(xiàn)任何設(shè)備,你需要連接一臺(tái)設(shè)備或者創(chuàng)建一個(gè)虛擬機(jī)。
如果你的app已經(jīng)運(yùn)行在一個(gè)連接的設(shè)備或虛擬機(jī)中,你可以通過(guò)如下方式開(kāi)始運(yùn)行:
1、 點(diǎn)擊Attach debugger to Android process
2、 在Choose Process 對(duì)話框,選擇進(jìn)程。
3、 點(diǎn)擊OK
Debug窗口出現(xiàn)。
4、 點(diǎn)擊Terminate結(jié)束調(diào)試。
使用系統(tǒng)日志
系統(tǒng)日志顯示了你調(diào)試app時(shí)的系統(tǒng)信息。這些消息包含你app運(yùn)行在設(shè)備中的信息。如果你想用系統(tǒng)日志來(lái)調(diào)試你的app,確保你寫(xiě)了打印日志的相關(guān)代碼。
在你的代碼中打印日志消息
在你的代碼中打印日志消息,使用Log類。如下:
Java代碼importandroid.util.Log;
...
publicclassMyActivityextendsActivity?{
privatestaticfinalString?TAG?=?MyActivity.class.getSimpleName();
...
@Override
publicvoidonCreate(Bundle?savedInstanceState)?{
if(savedInstanceState?!=null)?{
Log.d(TAG,?"onCreate()?Restoring?previous?state");
/*?restore?state?*/
}?else{
Log.d(TAG,?"onCreate()?No?saved?state?available");
/*?initialize?app?*/
}
}
}
在開(kāi)發(fā)過(guò)程中,你可以捕獲異常并打印stack trace到系統(tǒng)日志:
Java代碼voidsomeOtherMethod()?{
try{
...
}?catch(SomeException?e)?{
Log.d(TAG,?"someOtherMethod()",?e);
}
}
查看系統(tǒng)日志
在Android DDMS工具窗口中查看系統(tǒng)日志:
1、 在調(diào)試模式啟動(dòng)你的APP
2、 點(diǎn)擊Android Monitor
3、 如果在Logcat視圖中系統(tǒng)日志是空的,點(diǎn)擊Restart。
Android DDMS工具窗口給你從Android Studio中訪問(wèn)DDMS某些特性的權(quán)限。
系統(tǒng)日志顯示來(lái)自Android服務(wù)和其他Android應(yīng)用的消息。通過(guò)以下方式進(jìn)行過(guò)濾:
1、 顯示特定進(jìn)程的日志消息,在Devices視圖中選擇相應(yīng)進(jìn)程,然后點(diǎn)擊Click Show Logcat from Selected Process。如果你的Devices視圖沒(méi)出點(diǎn),點(diǎn)擊Android DDMS工具窗口右邊的Restore Devices View,這個(gè)按鈕僅僅在你隱藏了Devices窗口時(shí)才可用。
2、 也可以根據(jù)log level來(lái)過(guò)濾
3、 也可以在輸入框中輸入特定的字符串,點(diǎn)擊回車。
斷點(diǎn)
Android Studio支持多種不同的斷點(diǎn)來(lái)觸發(fā)不同的調(diào)試動(dòng)作。最常用的是行斷點(diǎn),應(yīng)用在特定的行停止。暫停時(shí),你可以檢查變量,表達(dá)式,也可以單步執(zhí)行來(lái)確定運(yùn)行錯(cuò)誤的原因。
添加一個(gè)行斷點(diǎn),可以按照以下方式:
1、 找到你需要執(zhí)行到暫停的行,點(diǎn)擊代碼編輯器的左邊,或者將光標(biāo)移動(dòng)到指定的行,店家Ctrl+F8。
2、 如果你的應(yīng)用已經(jīng)運(yùn)行,直接單擊Attach debugger to Android process。
當(dāng)你的代碼執(zhí)行到斷點(diǎn)的位置,Android Studio暫停了你的應(yīng)用的執(zhí)行。你可以使用調(diào)試器中的工具來(lái)查找錯(cuò)誤的原因。
查看和配置斷點(diǎn)
查看所有的斷點(diǎn)和配置斷點(diǎn)設(shè)置,點(diǎn)擊Debug窗口左邊的View Breakpoints,如圖:
Breakpoints窗口允許你開(kāi)啟和禁用左邊列表的每個(gè)斷點(diǎn)。如果斷點(diǎn)被禁用,Android Studio在到達(dá)這個(gè)斷點(diǎn)時(shí)不會(huì)停止。
2017年5月31日
總結(jié)
以上是生活随笔為你收集整理的java 安卓调试,Android Studio(二十一):调试你的应用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: python locust api_干货
- 下一篇: android8 通知呼吸灯_Andro