2013年2月5日 星期二

Speedup Android Testing

在開發Android App時,若是使用官方的emulator會非常慢,原因是程式會經過兩次指令的轉換,一次是Java class轉換成dex,接著再把手機CPU的RISC指令轉成一般x86的CISC指令,這就是為什麼會這麼慢的原因。

為了加速開發,有人會直接用真的手機做測試,這裡是介紹AndroVM做為開發的模擬環境,AndroVM是直接用x86重新compile一次Android,執行時不需要做RISC轉CISC指令的動作,所以速度上快非常多,以下說明安裝步驟。
  1. 安裝Oracle VM VirtualBox
  2. 下載AndroVM OVA檔,p代表phone,t代表tablet,我下載了androVM_vbox86p_4.1.1_r4-20121119-gapps-houdini-flash.ova。
  3. 直接double click ova檔案之後開始匯入VM image,會看到以下畫面。

  4. 匯入完畢後修改網路介面卡設定,第一張網路卡的設定如下圖。

  5. 第二張網路卡是用來模擬WiFi,設定如下圖。

  6. 設定完畢後啟動VM,經過幾個步驟設定完之後會看到下面的畫面。

  7. 打開AndroVM Configuration會看到第一張網卡的IP Address,這是用來讓Eclipse連線用的。

  8. 記住IP之後打開命令提示字元,執行adb connect <IP>指令,成功會看到以下畫面。

  9. 回到Eclipse執行Android專案,就會看到App的執行結果直接打在VM的畫面上,這樣就可以進行測試了。

  10. 在程式集的畫面也會看到開發的App出現在桌面上。
AndroVM官方還提供了AndroVM player,可以自由調整手機解析度,不過在這個時間點似乎還有點問題,待官方修正後我再介紹。