Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發環境 >> Android開發工具DDMS詳解

Android開發工具DDMS詳解

編輯:Android開發環境

       我們進行Android開發往往需要用到DDMS,它在開發過程中能起到很好的輔助作用。

       DDMS簡介

       DDMS 的全稱是Dalvik Debug Monitor Service,它為我們提供例如:為測試設備截屏,針對特定的進程查看正在運行的線程以及堆信息、Logcat、廣播狀態信息、模擬電話呼叫、接收SMS、虛擬地理坐標等等。DDMS為IDE和emultor及真正的android設備架起來了一座橋梁。開發人員可以通過DDMS看到目標機器上運行的進程/現成狀態,可以android的屏幕到開發機上,可以看進程的heap信息,可以查看logcat信息,可以查看進程分配內存情況,可以像目標機發送短信以及打電話,可以像android開發發送地理位置信息。可以像GDB一樣attach某一個進程調試。 SDK-tools目錄下提供了ddms的完整版,直接雙擊ddms.bat運行即可。下面以Eclipse的DDMS perspective為例簡單介紹DDMS的功能。

       跟debug,java的perspective一樣,安裝好adt後會有一個DDMS得perspective,打開即可。

Android開發工具DDMS詳解

       如果perspective裡沒有顯示DDMS,剛按如下步驟執行:

       點擊上圖中DDMS圖標左邊的那個圖標,然後在下圖中如果有DDMS,剛選擇,如果沒有,剛選擇“其他”,然後在出現的窗口中雙擊“DDMS”即可。

 

Android開發工具DDMS詳解

Android開發工具DDMS詳解

       注意:DDMS對Emulator和外接測試機有同等效用。如果系統檢測到它們(VM)同時運行,那麼DDMS將會默認指向 Emulator。以上2種啟動後的操作有些不一樣,建議分別嘗試下。

       DDMS 的工作原理

       DDMS將搭建起IDE與測試終端(Emulator 或者connected device)的鏈接,它們應用各自獨立的端口監聽調試器的信息,DDMS可以實時監測到測試終端的連接情況。當有新的測試終端連接後,DDMS將捕捉到終端的ID,並通過adb建立調試器,從而實現發送指令到測試終端的目的。

Android開發工具DDMS詳解

       DDMS監聽第一個終端App進程的端口為8600,APP進程將分配8601,如果有更多終端或者更多APP進程將按照這個順序依次類推。DDMS通過8700端口(“base port”)接收所有終端的指令。

       打開後的窗口為:

Android開發工具DDMS詳解

       通過GUI詳細了解DDMS的一些功能

       在GUI的左上角可以看到標簽為”Devices”的面板,這裡可以查看到所有與DDMS連 接的終端的詳細信息,以及每個終端正在運行的APP進程,每個進程最右邊相對應的是與調試器鏈接的端口。因為Android是基於Linux內核開發的操 作平台,同時也保留了Linux中特有的進程ID,它介於進程名和端口號之間。

       device窗口羅列模擬器中所有的進程,右上角那一排按鈕分別為:調試某個進程,更新某個進程,更新進程堆棧信息,停止某個進程,最後一個圖片按鈕時抓取android目前的屏幕。

Android開發工具DDMS詳解

       當你選中某個進程,並按下調試進程按鈕時,如果eclipse中有這個進程的代碼,那就可以進行源代碼級別的調試。有點像GDB attach。圖片抓取按鈕可以把當前android的顯示桌面抓到你的機器上,也是非常有用。

       右邊那個窗口中有threads,heap,file explorer選項卡。分別顯示線程統計信息,棧信息,以及android的文件系統。

Android開發工具DDMS詳解

       file explorer非常有用,他可以把文件上傳到android手機,或者從手機下載下來,也可以進行刪除操作。選中file explorer選項卡後,按下面三個按鈕便可實現對android手機文件系統的上傳,下載,刪除操作。

Android開發工具DDMS詳解

        emulator control也是非常重要的,通過它可以像手機發送短信, 打電話,已經更新手機位置信息。

            Telephony Status: 通過選項模擬語音質量以及信號連接模式。 

            Telephony Actions: 模擬電話接聽和發送SMS到測試終端。 

            Location Control: 模擬地理坐標或者模擬動態的路線坐標變化並顯示預設的地理標識,可以通過以下3種方式:

                 Manual: 手動為終端發送二維經緯坐標。

                 GPX: 通過GPX文件導入序列動態變化地理坐標,從而模擬行進中GPS變化的數值。

                 KML: 通過KML文件導入獨特的地理標識,並以動態形式根據變化的地理坐標顯示在測試終端。

Android開發工具DDMS詳解

Android開發工具DDMS詳解

      LogCat:顯示輸出的調試信息。

      Console(控制台):是Android模擬器輸出的信息,加載程序等信息。

      總結

      eclipse adt目前提供的的ddms功能只是真正ddms的一小部分,你可以直接使用tools下面的ddms來使用所有功能。其中有一個查看進程內存分配的功能比較有用。

      另個要注意的是,在DDMS中模擬發送短信時,中文顯示為亂碼,在未來的開發中,我們必須要注意中文字符的問題。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved