Eclipse除錯Android工具集錦之二-DDMS
本文章的前提:已經安裝了Eclipse和ADT。android SDK也下載完畢。Eclipse裡面已經設定好了andro本文章的前id SDK。
本文章將系統的介紹Android除錯的各個工具。講的會比較細,希望對大家有所幫助。
DDMS
Android SDK單獨提供了DDMS的命令,我們在[android-sdk-home]/tools目錄下輸入ddms,也會彈出獨立的DDMS視窗。這裡我們還是直接使用Eclipse整合的DDMS。
DDMS 的全稱是Dalvik Debug Monitor Service,它為我們提供例如:為測試裝置截圖,針對特定的程序檢視正在執行的執行緒以及堆資訊、Logcat、廣播狀態資訊、模擬電話呼叫、接收SMS、虛擬地理座標等等。
在Eclipse的右上角,可以選擇Perspective。我們選擇DDMS,Eclipse進入如下佈局tools-007:
在左上角有Devices的頁籤,我們選擇當前的虛擬機器:emulator-5554,顯示當前虛擬機器的各項內容。在Devices頁籤的右邊,一排快捷方式裡面,有個很重要的按鈕“Screen Capture”,顧名思義就是截圖,可以把當前虛擬機器的圖片給截下來。如果連線的不是虛擬機器,而是真機,也能把手機的當前螢幕截圖下來。如下圖:tools-008
這個不多說,知道有這麼個有用的工具就行。
Devices頁籤的右邊的子視窗,有三個頁籤:Threads,Heap,File Explorer
也是顧名思義,分別可以檢視手機的執行緒情況,記憶體堆疊情況,以及檔案情況。
選擇File Explorer頁籤的時候,右邊有兩個很有用的按鈕,分別是上傳檔案和下載檔案。這個功能單獨用ADB也能實現。在這裡也是個不錯的選擇。
最下面的子視窗,就是logcat,檢視當前連線的手機的log。看log就不多說了。Log頁籤的右邊,有一排快捷方式。先是選擇Log等級,從Verbose到error,一共5個按鈕。再右邊就是過濾按鈕,可以設定Log的過濾條件,只看我們想看的log。點選那個綠色的加號,得到下面的視窗:tools-009
過濾器需要取一個名字。儘量用有意義的名字,不要省事用什麼aaa。
Log Tag就是在程式碼裡輸出Log的時候,第一個log tag引數,用以對log進行分類。我的做法一般喜歡用當前所在的Class名作為Log的tag。
pic就是所在的程序編號。在Devices子視窗,看Online的那一列,就是各個程序的pid號。
Log level就不多解釋了,打log的人應該都懂的。
我們試著建一個Log過濾器。看system_process程序的pid,是72,tag填:ActivityManager,如下圖:tools-010
點選OK之後,我們看到的log就都是系統的Activity管理相關的Log了。
最後,中間的Emulator Control子視窗,介紹一個也是常用的功能:模擬打電話和收簡訊。
如下圖:tools-011
輸入10010,選擇Voice,點選”Call”按鈕,DDMS會模擬10010這個號碼向虛擬機器打了一個電話。這個時候我們可以看到,虛擬機器進入來電狀態。我們可以操作虛擬機器接聽電話,然後再到Emulator Control這裡結束通話電話。這個操作的快感就讓讀者自己去體會了。^_^