2013年6月10日 星期一

建置 Firefox OS 模擬器

目前智慧型行動裝置市場最流行的就屬iPhone及Android,而Windows Phone則在後面追趕中。
去年Mozilla公司發表了Firefox OS主要的概念是利用 HTML5 或是 CSS3來開發行動裝置,這表示對於web-base開發者而言不用學習Objective-C 或JAVA等語言就可以開發App。
姑且不論將來Firefox OS會不會如同iPhone或Android那樣的市佔率,身為技術人員當然有機會就要嘗鮮所以想玩、想撰寫Firefox OS上的App至今日為止,實體手機部分只有西班牙手機廠 GeeksPhone 所製造的開發者預覽手機(低階款約 3,600台幣,中階5,960 台幣),不過可惜的是台灣買不到,另外一個方式就是下載官方所提供的原始碼移植到硬體或者是模擬器。

本篇目的來實作一下如何建立一個Firefox OS simulator,目前Firefox OS模擬器有兩種方式取得,一種是透過Firefox瀏覽器加掛插件,另外一種就是下載原始碼編譯。前者方式比較簡單詳見官網說明,後者則是本文主要內容。




實作環境:
Ubuntu 12.04 LTS 64bit
請按照官網 Firefox OS build prerequisites 將環境設定好,如果編譯上出現問題可以參考本部落格相關文章應該可以解決編譯的問題。
在 Ubuntu 12.04 LTS 安裝 Android SDK&NDK 開發環境
Ubuntu 12.04 64Bit 版本編譯 Android ICS原始碼錯誤解決方法

確定按照Firefox OS build prerequisites 將環境設定好,接著下載Firefox OS原始碼:

~$ mkdir b2g_sim
~$ cd b2g_sim
~$ git clone git://github.com/mozilla-b2g/B2G.git
~$ cd B2G

在B2G目錄下我們可以看到 config.sh 當我們執行後可以發現到目前所支援的平台:
由於我們要做的是模擬器所以我們在 B2G 目錄下執行下面指令來下載原始碼:

~$ ./config.sh emulator

下載原始碼需要一陣子的時間,接著執行下列指令開始原始碼的編譯:

~$ ./build.sh

~$ ./build.sh -j4
-j後面代的數字是CPU核心數,可以用 getconf _NPROCESSORS_ONLN 指令查詢。

經過一段時間的編譯後,執行 run-emulator.sh 就會看到如下圖模擬器的執行畫面。

~$ ./run-emulator.sh







有了Firefox OS模擬器後,找個時間我在整理出如何在Firefox OS用HTML來寫一個HelloWorld程式。

後記:
1.DDMS截圖部分一直沒弄出來,所以DDMS截圖如果是黑色的應該正常,待找到解決方式我在更新。
2.模擬器中會使用到GPU的加速,通常只要顯示卡驅動程式正確的話應該就會跑出結果;如果無法執行模擬器修改一下run-emulator.sh中的 -gpu on \ 將其改成 -gpu off \ 試試看。
3.操作方式類似於iPhone,沒有倒退鍵功能;要刪除執行中的process或切換執行中的process要長按Home鍵。

參考:
1. Firefox Mobile OS
http://blog.mozilla.org/blog/2012/07/02/firefox-mobile-os/
2.GeeksPhone
http://shop.geeksphone.com/en/
3.Firefox OS 官網
http://mozilla.com.tw/firefoxos/
4.鴻海攜手 Mozilla 合作Firefox OS開放平台
http://goo.gl/0YDEC

沒有留言:

張貼留言