java 安卓调试,Android Studio(二十一):调试你的应用
Android Studio包含了一個調試器,允許你調試運行在Android虛擬機或連接的Android設備的應用。通過Android Studio的調試器,你可以:
1、 選擇你調試設備的app
2、 為你的代碼設置斷點
3、 在運行時檢測變量和表達式
4、 截圖和錄像
通過點擊工具欄中的Debug按鈕來開始調試,Android Studio生成一個APK,并且使用調試key進行簽名,安裝到選定的設備中運行并打開調試Debug窗口。
如果點擊Debug后,在Select Deployment Target窗口沒有出現任何設備,你需要連接一臺設備或者創建一個虛擬機。
如果你的app已經運行在一個連接的設備或虛擬機中,你可以通過如下方式開始運行:
1、 點擊Attach debugger to Android process
2、 在Choose Process 對話框,選擇進程。
3、 點擊OK
Debug窗口出現。
4、 點擊Terminate結束調試。
使用系統日志
系統日志顯示了你調試app時的系統信息。這些消息包含你app運行在設備中的信息。如果你想用系統日志來調試你的app,確保你寫了打印日志的相關代碼。
在你的代碼中打印日志消息
在你的代碼中打印日志消息,使用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?*/
}
}
}
在開發過程中,你可以捕獲異常并打印stack trace到系統日志:
Java代碼voidsomeOtherMethod()?{
try{
...
}?catch(SomeException?e)?{
Log.d(TAG,?"someOtherMethod()",?e);
}
}
查看系統日志
在Android DDMS工具窗口中查看系統日志:
1、 在調試模式啟動你的APP
2、 點擊Android Monitor
3、 如果在Logcat視圖中系統日志是空的,點擊Restart。
Android DDMS工具窗口給你從Android Studio中訪問DDMS某些特性的權限。
系統日志顯示來自Android服務和其他Android應用的消息。通過以下方式進行過濾:
1、 顯示特定進程的日志消息,在Devices視圖中選擇相應進程,然后點擊Click Show Logcat from Selected Process。如果你的Devices視圖沒出點,點擊Android DDMS工具窗口右邊的Restore Devices View,這個按鈕僅僅在你隱藏了Devices窗口時才可用。
2、 也可以根據log level來過濾
3、 也可以在輸入框中輸入特定的字符串,點擊回車。
斷點
Android Studio支持多種不同的斷點來觸發不同的調試動作。最常用的是行斷點,應用在特定的行停止。暫停時,你可以檢查變量,表達式,也可以單步執行來確定運行錯誤的原因。
添加一個行斷點,可以按照以下方式:
1、 找到你需要執行到暫停的行,點擊代碼編輯器的左邊,或者將光標移動到指定的行,店家Ctrl+F8。
2、 如果你的應用已經運行,直接單擊Attach debugger to Android process。
當你的代碼執行到斷點的位置,Android Studio暫停了你的應用的執行。你可以使用調試器中的工具來查找錯誤的原因。
查看和配置斷點
查看所有的斷點和配置斷點設置,點擊Debug窗口左邊的View Breakpoints,如圖:
Breakpoints窗口允許你開啟和禁用左邊列表的每個斷點。如果斷點被禁用,Android Studio在到達這個斷點時不會停止。
2017年5月31日
總結
以上是生活随笔為你收集整理的java 安卓调试,Android Studio(二十一):调试你的应用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python locust api_干货
- 下一篇: D P- 免费馅饼