Pages

搜尋此網誌

2013年12月24日 星期二

androVM - Run Android In VirtualBox And Deploy App

androVM - Run Android In VirtualBox And Deploy App

在隨處亂逛時,看到一個有趣的東西,那就是android VM!

androVM

開發 Android 的經驗中,如果要驗證所開發的程式是否正確,比較常用的兩個方法:

  1. 使用 google 官方的虛擬 android
  2. 使用實體機器

第一個的問題就是,速度真 T…M… 的慢,在講求速度的開發環境,會很想殺人!!!

第二個的問題是,如果 usb 不夠插,或臨時設備不再身邊,或是設備出了意外… 那只好工作停擺啦

所幸還有第三個方案,他還是模擬器沒錯,但是比 google 官方的虛擬 android 來的快多了,號稱快 4 倍,我是憑感覺真的有比較快,至少你不會覺得

安裝方式很簡單

  1. 首先你需要安裝 Virtualbox
  2. 下載 androVM 官方提供的 ova 檔,請選擇適合你用的版本
  3. 下載完成後,請點兩下你下載下來的 ova 檔,他會將設定檔載入你的 virtualBox,包括映像檔,所以一旦你安裝完成後就可以把下載下來的檔案刪掉

如此一來就完成啦,實際執行結果如下:

img

啟動速度比實體機器快很多喔(三倍速+)!

我個人覺得如果還可以支援 camera 那就太完美啦!不過網路上也有人對作者反應,作者也承諾 I’ll readd the feature asap! 如此一來在開發上將更有彈性,相信以 virtualBox 為基底應該是可以做的到。

再來鄉民應該會覺得,我沒事拿個 vm 來玩平板或手機幹嘛?當然還要能夠拿來開發,並且可以將程式 deploy 上去進行測試啦!在這裡我將說明執行步驟,基本上你可以將運行在 VM 上的 android 想像成現在連接著你的電腦,只是不同的是他在你的電腦中運行,所以你必須告訴你的電腦要在哪裡連接,連接方式是透過 指定 IP 告訴你的開發環境正確的位置,讓我們來一步接著一步進行:

  1. 首先必須先讓 vm 能夠有個存取的位置,所以我們需要打開 virtualBox 的網路設定頁面

    img

    將附加選項選擇:橋接介面卡,然後名稱就是你的實體網路的接口,我的電腦只有 wifi,如果是實體網路就應該為 eh0,設定好後,可以進到虛擬的 Android 查看 ip 位置:

    img

    進到 system status 可以看到 ip 為 10.0.3.15,實際上你去 ping 是 ping 不到的,因為那是虛擬的 ip,那要如何找到正確的 ip 呢?androVM 很貼心的在裡面預裝了一個 app 可以讓你對 android 進行一些設定還有環境變數的查詢,裡面就有真實設備的 ip 啦!如下圖:

    img

    有個 android 機器人,好像在做蛋糕(大便) 的樣子 androVM Configuration,哈~顯示如下圖:

    img

    點進去後你可以看到在執行畫面上方有個

    eh0: 192.168.1.8

    就是實際你可以存取得位置啦!

  2. 接著我們就必須將設備註冊到 adb 上,讓我們進入到 android sdk 資料夾裡面,路徑為

    ${ANDROID_HOME}/platform-tools

    底下應該有個 adb 的檔案,打開 terminal 根據剛剛查到的 ip 輸入:

    ./adb connect 192.168.1.8

    就完成連接了,簡單吧!正常應該會吐出下列訊息

    connected to 192.168.1.8:5555

    接著我們來看實際運作的狀況,打開 eclipse,執行要 deploy 的專案:

    img

    在這裡執行 Run As > Adroid application 會先檢查有無設備連接上,如果沒有會用 google 內建的虛擬機器,如果有連上就會使用實體機器(不過還是虛擬的),我們就可以看到執行畫面如下:

    img

    就是如此簡單!接著你要 debug 或是檢查在 app 操作過程中吐出來的訊息就都可以在 eclipse 底下的 Console 進行觀察了,相信開發過程中會方便許多,也避免掉很多不必要的麻煩,試試看囉!

張貼留言