280 likes | 423 Views
Ch4 Android SDK 常用工具. Android SDK 工具有些已經整合至 Eclipse ,可以透過 Eclipse 執行或直接於「命令提示」視窗執行它的執行檔或批次檔; 有些未整合至 Eclipse ,只能透過「命令提示」視窗執行。. 一、 Android SDK 工具分類. Android SDK 工具分成 2 大類 其一是 SDK 工具,這類工具與 Android 版本無關,會隨 ADT Bundler 一併安裝於「 < 安裝資料夾 >SDKtools 」資料夾。
E N D
Android SDK工具有些已經整合至Eclipse,可以透過Eclipse執行或直接於「命令提示」視窗執行它的執行檔或批次檔; • 有些未整合至Eclipse,只能透過「命令提示」視窗執行。
一、Android SDK工具分類 • Android SDK工具分成2大類 • 其一是SDK工具,這類工具與Android版本無關,會隨ADT Bundler一併安裝於「<安裝資料夾>\SDK\tools」資料夾。 • 另一類是平台工具,它主要用以支援最新版本Android平台的特性,這類工具安裝於「<安裝資料夾>\SDK\platform-tools」資料夾,一般會隨安裝新版本Android SDK時一併更新其中最常用的為adb。
二、Android工具 • Android 屬於SDK工具,可用以: • 管理應用程式專案(建立與更新)。 • 管理AVD(建立、更新與查詢),功能與AVD Manager相同。 • 更新及查明Android SDK,功能與Android SDK Manager相同。
以上功能均已整合至Eclipse IDE,但也可以透過「命令提示」視窗直接執行此工具。以下是一些常用的操作: • 啟動AVD Manager : android avd • 啟動Android SDK Manager : android sdk或android • 查詢已安裝Android SDK相關資訊: android list targets • 建立新的AVD : android create avd –n <AVD名稱> -t <targetId> • 查詢開發系統中已經建立的AVD : android [create] list
更改AVD名稱: android move avd –n <AVD名稱> -r <新名稱> • 刪除AVD : android delete avd –n <AVD名稱>
三、建立虛擬擴充記憶體SD卡映像檔--mksdcard • 利用「mksdcard」這個SDK工具,我們可以利用在開發電腦中建立一個磁碟映像檔,用做模擬器的虛擬SD擴充卡,此映像檔附檔名為「.img」,檔案大小即為虛擬SD擴充卡的容量。 • 指令:mksdcard [-l label] <容量大小>[K|M|G] <fileName> • 如果是用AVD Manager建立新AVD時設定的虛擬SD擴充卡,會以「sdcard.img」為檔名存於「C:\Users\<user>\.android\avd\<avdName.avd\」資料夾內。
四、操作模擬器--emulator • 使用Android模擬器最簡單的方法,當然是透過AVD Manager選擇要使用的AVD,然後用「Start」鈕啟動模擬器。但如果有需要,也可以從「命令提示」視窗用「emulator」指令啟動。 • 指令:emulator –avd <AVD名稱> [-<選項參數> [<參數值>]]….[-<qemu 參數>] • 這些選項參數中以指定螢幕外觀(-skin)與SD擴充卡(-sdcard)最常用,加上這2項的指令如下::emulator –avd <AVD名稱> -skin <skinID> -sdcard <磁碟影像檔路徑與檔名>
從Android SDK 2.0開始,系統內建有應用程式管理系統(Manage Applications),協助我們管理及移除已經安裝的應用程式,這功能也可以在模擬器上使用,操作方式如下: • 按模擬器「MENU」鍵。 • 從模擬器螢幕上,依序選擇「Settings>Applications>Manage Applications。
五、 Android Debug Bridge-adb • adb屬於平台工具,透過它可以讓模擬器或實際裝置與開發電腦互相通聯,是屬於客戶端-伺服端(Client-Server)型態的工具,它含有3個部份: • 客戶端:執行於開發電腦上,可以透過「命令列模式shell」用adb呼叫客戶端。 • 伺服端:執行於開發電腦的背景程序,主要用於管理客戶端,以及和在模擬器或實際裝置上執行中的adb程式通聯。
執行中的adb程式(Daemon):執行於模擬器或實際裝置背景程序的adb程式。執行中的adb程式(Daemon):執行於模擬器或實際裝置背景程序的adb程式。 • 當伺服端被啟動執行,伺服端將結合TCP埠5073,偵聽客戶端adb的動作,並設定對所有執行中的模擬器或用USB連至開發電腦的實際裝置的連線。 • 每一個模擬器與實際裝置都需要2個連續埠,奇數埠用於adb連線,偶數埠用於主控台連線。 • adb是開發電腦與模擬器及實際裝置溝通的重要橋樑(這就是「Bridge」的意義),它除了除錯以外,也能用於在模擬器或實際裝置上安裝或移除應用程式、將檔案上傳模擬器或實際裝置、從模擬器或實際裝置下載檔案至開發電腦、執行命令列模式shell指令等。
adb指令格式如下:adb [-d|-e|-s <裝置識別號>] <command> • 查詢已連線裝置:adb devices • 取得裝置識別號:adb get-serialno • 偵測伺服端執行狀態:adb get-state • 關閉伺服端:adb kill-server • 啟動伺服端:adb start-server或adb get-state • 更改TCP通訊埠: adb forward tcp:oldNumber tcp:newNumber
Adb指令教學網 • http://gfans.bryan.tw/2010/11/30/1361 • http://www.jinnsblog.com/2011/10/how-to-use-sdk-to-install-apk.html • http://eric1300460.pixnet.net/blog/post/30372232-android%e6%8c%87%e4%bb%a4%e5%92%8c%e5%91%bd%e4%bb%a4%e5%8f%83%e6%95%b8%28%e8%bd%89%e8%b2%bc%29%28android%29
# Android模擬器命令列啟動模式 • 在android-sdk-windows-1.1\tools執行emulator以執行模擬器加上-skin參數,指定顯示模式為HVGA-L,則可轉為橫向emulator - skin HVGA-L (480*320,水平顯示)emulator - skin HVGA-L (320*480,垂直顯示,模擬器預設模式)emulator - skin HVGA-L (320*240,水平顯示)emulator - skin HVGA-L (240*320,垂直顯示)# 使用mksdcard指令模擬1GB的記憶卡mksdcard 1024M sacard.img# 模擬插入 SD 卡的模擬器emulator - sdcard sdcard.img
在裝置上安裝或移除應用程式: • 安裝: • adb [-s <裝置識別號>] install <應用程式套件.apk檔案> • EX: adb install c:\DbTest.apk 將 c碟之專案安裝至執行之AVD • 移除: • adb [-s <裝置識別號>] uninstall <應用程式套件檔案>
將檔案從開發電腦上傳至裝置:adb push <電腦的資料夾檔案> < 裝置目錄> • adb push c:\test.txt /sdcard/test.txt • 將檔案從裝置下載開發電腦:adb pull <裝置目錄> < 電腦的資料夾> • adb pull /sdcard/test.txt c:\test.txt • 取得除錯監控記錄: adb logcat ,按「Ctrl+C」鍵可以結束記錄監聽。
# 使用 adbpush 上載檔案到SD記憶卡 • adb push 001.jpg /sdcard (複製檔案到 /sdcard 目錄下)adb push pictures /sdcard (複製 picture 照片目錄到 /sdcard 目錄下)adb push mp3 /sdcard (複製 mp3 音樂目錄到 /sdcard 目錄下)adb shell (Android 模擬器啟動命令列模式)#cd /sdcard (進入 /sdcard 目錄)#ls (查看 SD 記憶卡中的檔案)
使用 adbpull 從 SD 記憶卡下載檔案 • adb pull /sdcard/001.jpg . (下載 /sdcard 目錄下的檔案)adb pull /sdcard/pictures . (下載 sdcard 目錄下的 pictures 目錄)
# 刪除 SD 卡裡面的檔案 • adb shell#ced /sdcard#rm 001.jpg (刪除 SD 記憶卡裡的檔案)#rm -r * (刪除 SD 記憶卡裡所有檔案與目錄)
發佈shell命令: adb shell • 由標提示是改為# • 常用指令: • cd : 切換目錄 • ls : 顯示檔案明細 • exit : 結束shell模式
六、 Dalvik除錯監控服務-DDMS • Dalvik除錯監控服務(Dalvik Debug Monitor Service,簡稱DDMS),屬於SDK工具,提供視覺化的偵錯監控服務。 • DDMS是透過adb與裝置(模擬器或實際裝置)連線,每一個在裝置上執行的應用程式都會產生自己專用的Dalvik虛擬機,這些虛擬機經由自己的通訊埠與DDMS溝通。
另外,DDMS還可提供以下服務: • 支援畫面擷取功能,可以擷取裝置上出現的錯誤畫面或訊息,提供開發者參考。 • 提供裝置執行緒(thread)與堆積(heap)的狀態資訊。 • 可以模擬撥打電話、傳送簡訊、設定虛擬GPS經緯度資訊等。 • 從Eclipse上執行DDMS • 從Eclipse IDE按右上角視景切換的「DDMS」標籤,切換至DDMS視景,或執行「Window>Open Perspective>Other」,然後從開啟的「Open Perspective」對話框選「DDMS」
在DDMS視景右上半部集合了許多視圖,這區域主要顯示裝置系統上的一些資訊如執行緒、堆積、檔案系統等,以及模擬硬體功能的設定;視景左上半部為「Devices」視圖,顯示目前與開發電腦連線的實際裝置或執行中的模擬器;視景下半部為「LogCat」視圖。在DDMS視景右上半部集合了許多視圖,這區域主要顯示裝置系統上的一些資訊如執行緒、堆積、檔案系統等,以及模擬硬體功能的設定;視景左上半部為「Devices」視圖,顯示目前與開發電腦連線的實際裝置或執行中的模擬器;視景下半部為「LogCat」視圖。
從「命令提示」視窗執行DDMS • 從「命令提示」視窗執行「ddms.bat」批次檔,執行後開啟「Dalvik Debug Monitor」視窗,其中「Device」選單的「Screen capture」選項可以擷取裝置執行畫面。