程式扎記: [ Google Android 教學 ] 入門 : 操作 Android 虛擬機器(Emulator)

標籤

2011年8月25日 星期四

[ Google Android 教學 ] 入門 : 操作 Android 虛擬機器(Emulator)

轉載自 這裡
前言 :
我們已經透過「Eclipse」開發環境,開啟了「ApiDemos」專案。本章將講解如何設定和操作 Android 虛擬機器.

使用 Android 虛擬機器 :
現在我們還不忙著開始寫程式,先花點時間,來看看怎麼在開發環境中,透過「Android 虛擬機器」來執行應用程式吧. 由於在剛開始開發時,我們手邊並不一定已擁有 Android 設備。因此 Android 開發工具亦提供了相當強大的模擬器,能讓我們自由配置,模擬各種硬體規格的設備。在 Android 中一律把 Android 模擬器稱作「Android 虛擬機器」(Android Virtual Device),簡寫為「AVD」.
「Android 軟體開發套件」(SDK) 1.5 以上的版本提供了支援不同目標版本虛擬機器的功能,在使用虛擬機器之前,必須先建立一個虛擬機器後才可在 Eclipse 開發環境中使用.
在1.6版之後可以直接在AVD管理工具中建立虛擬機器。在Eclipse中選擇「Window->Android SDK and AVD Manager」來開啟AVD管理工具,AVD管理工具的使用方式在管理 SDK一章有提及,不在此詳述.
SDK 中也提供了一個「android」命令行工具(在 android-sdk/tools 中),可以用來建立新專案或是管理虛擬機器。在此我們使用「android」命令行工具來新建立一個虛擬機器.
- 列出虛擬機器類型
首先,把「android-sdk-windows/tools 」目錄加入系統路徑,我們以後就可以在任何地方使用「android-sdk-windows/tools 」目錄下的各種命令, 在設定完路徑變數後請輸入以下命令 :
C:\Users\John-Lee>android list targets

螢幕上會列出所有支援的虛擬機器類型 :


在這邊列出了三種虛擬機器類型。編號(id)為 8 的「Google APIs」,Google 把自己提供的應用程式(如 Google Map)放在「Google APIs」這個虛擬機器類型中,因此要開發 Google Map 等 Google 專屬應用程式時,就必須先建立「Google APIs」這類型的虛擬機器,稍後才能在適當的虛擬機器上作驗證.

- 建立虛擬機器
我們現在來建立一個基本的 Android SDK 2.0 虛擬機器, 在命令行中輸入以下命令 : 

C:\Users\John-Lee>android create avd --target 1 --name eclair
Android 1.1 is a basic Android platform.
Do you wish to create a custom hardware profile [no] <按下Enter繼續>
Created AVD 'eclair' based on Android 1.1

這段命令的意思是:使用「android create avd」命令來建立一個新的虛擬機器,「 --target 1」參數的意思是這個虛擬機器使用 id 為 1 的 SDK 套件(Android 1.5),「--name eclair」參數的意思是將這個建立的虛擬機器命名為「eclair」.

- 列出已建立的虛擬機器
我們可以使用 「Android」命令行工具提供的「list avd」命令,來列出所有我們已經建立的模擬器, 在命令行中輸入以下命令 :


使用「 android list avd」命令看到有輸出,即表示已成功建立虛擬機器,可以回到 Eclipse 環境來,設定執行應用程式專案所需的環境參數了.

- 設定環境參數
要執行 ApiDemos 程式前,我們得在開發環境中,事先設定好一些用來執行 ApiDemos 程式的環境參數。 以後使用其他程式專案時,我們也能用同樣的方式,讓這些程式在我們的開發環境中運行. 首先,我們透過選單列上的「Run」(執行)選單,選擇「開啟執行參數設定」(Run-> Debug Configurations...) 進入運行環境參數設定畫面, 進入設定畫面後,在視窗左側會有一整排 Eclipse 支援的運行設定,我們從中找到 "Android Application"(Android 應用程式)項目,按下滑鼠右鍵,點選 "New"(新增)選項, 選擇 「New」 選項後,在「Android Application」項目下方會多出一筆執行項目, 我們可以在 Name 欄位上輸入一個代表這個環境參數的名稱,在此我們輸入與專案名稱相同的「ApiDemos」
在「Project」欄位右方,點選「Browse...」按鈕,開啟「專案選擇」(Project Selection)視窗,選擇「ApiDemos」專案並點選「OK」按鈕,以選擇要執行的專案.
在 「Launch Action」 選單中,確認預設選擇的是「Launch Default Activity」.
至此我們就完成了模擬器環境參數的設定。 點選右下角的「Debug」按鈕,Eclipse 就會啟動 Android 虛擬機器 :


- 再次啟動 Android 虛擬機器
當我們設定好之後,以後碰到要再次啟動虛擬機器的情況時,只要在螢幕左上角的「Debug」或「Run」圖示右側小箭頭上按一下,從彈出的選單中選擇剛剛設定的環境參數名稱,虛擬機器即開始執行,並安裝好我們所指定的專案應用程式.

操作虛擬機器 :
- 改變虛擬機器外觀
在建立虛擬機器的時候,我們可以透過「skin」欄位來選擇預設的虛擬機器外觀。「skin」欄位中會列出目標(Target)版本支援的所有外觀。「HVGA」(解析度 480x320)、「QVGA」(解析度 320x240)等分別代表著各種不同畫面的解析度. 在命令列上執行「android list targets」命令後,我們可以看到螢幕上列出所有支援的模擬器類型。舉我們剛才建立過的(id 1)虛擬機器為例,列出訊息如下 :

其中 Skins 欄位中會列出所有支援的模擬器佈景,預設有多種畫面配置選項可選擇. 要建立「QVGA」模式的模擬器,則在前面介紹「android create avd」命令後,附加上「--skin QVGA」選項即可。要將預設的「HVGA 直式」顯示改為橫式,則可以透過使用快速鍵,直接切換螢幕來達成.

- 切換螢幕方向
在 Windows 作業系統上按下 「Ctrl」和「F12」鍵 ,或是在 Mac OS X 作業系統上同時按下「fn」 、「Control」和「F12」鍵,螢幕就會從預設的直式顯示改成橫式顯示,再按一次則切換回原來的直式顯示.

- 移除程式
我們已經順利地啟動了虛擬機器,那麼,該怎麼移除安裝到虛擬機器上的程式哩?
Android SDK 中提供一個 adb (Android Debugger) 命令行工具 (在 android-sdk/tools 中),我們可以用裡面的 shell 工具連上虛擬機器來移除應用程式。在某些平台上,這些動作可能需要擁有 root 權限才能執行.
首先打開命令列,啟動 adb shell :
adb shell

接著切換到 data/app 目錄中 :
cd data/app/

使用 ls 命令(等同 windows 上命令行的 dir 命令)來檢視檔案列表 :
# ls
com.example.android.apis.apk

接著使用 rm 命令來刪除 ApiDemos 應用程式 :
rm com.example.android.apis.apk
ls

- 移除虛擬機器
我們可以使用「android list avd」命令來列出所有的虛擬機, 接著發現系統中有一個名為 eclair 的虛擬機器。 我們可以使用「android delete avd --name eclair」命令來刪除名稱為「eclair」的虛擬機器 :


補充說明 :
* 虛擬機器操作細節 http://developer.android.com/guide/developing/tools/emulator.html
* 虛擬機器外觀下載 http://www.android.encke.net/

沒有留言:

張貼留言

網誌存檔

關於我自己

我的相片
Where there is a will, there is a way!