Please note, this is a STATIC archive of website developer.mozilla.org from 03 Nov 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

使用 B2G 模擬器

這篇文章提供簡潔的指南,包括使用 Boot to Gecko 模擬器時需要知道的一些重要的事情。這不意味著這是一個完整的使用手冊;相反地,它只告訴您一些有用的事情,讓您不必自己去學。

這篇指南假設您已經編譯了一個模擬器;如果您還沒編譯的話,請跳回「建置和安裝 Boot to Gecko」!

關於 B2G 模擬器

有兩種 B2G 模擬器。第一種是 x86 行動裝置的模擬器,使用 "emulator-x86" 設定以 config.sh 編譯而成。雖然這遠比模擬 ARM 處理器快多了,但是它執行的沒有那麼接近一個實體行動裝置的結果。而第二種則是 ARM 行動裝置的模擬器,使用 "emulator" 的設定編譯。

一旦你選擇、設定及編譯模擬器,就使用者而言,剩下來要做的事情都是一樣的,所以這篇導覽剩下的共同部分是兩種模擬器都適用的。

Note: 在 Mac OS X 上,B2G 模擬器需要 Core 2 Duo 或更快 CPU;也就是說,一個相容於 Mac OS X 10.7 "Lion" 的系統。你不必一定得使用 Lion,只是要在和 Lion 相容的系統上面執行就可以了。

啟動模擬器

執行下列指令,就可以打開 B2G 模擬器了:

./run-emulator.sh

這個指令將會會您操作所有模擬器的起始作業。現在就耐心等模擬器啟動以及 Boot to Gecko 在上面開始運作起來。啟動會花好幾分鐘,所以請耐心等候。

當模擬器掛了

有時候模擬器會啟動失敗。歡迎來到尖端科技的前緣。這裡有一些派的上用場的技巧,可用來解決問題。

確定 adb server 是不是還活著

adb server 處理與模擬的行動裝置之間的互動,而這裡常常出問題的原因是 adb server 不是沒在執行就是故障。

Note: 舉例來說,如果您使用 B2G 版本所編譯出的 adb 的話,它的位置會在 $B2G/out/host/<platform>/bin 目錄裡。在 Mac 上的話,則是在 $B2G/out/host/darwin-x86/bin 目錄下。

使用下列指令來看 adb 是否還在運作中:

ps aux | grep adb

If it's there, do this to kill it, because it's probably not working correctly.

adb kill-server

If it's not there, do this:

adb start-server

接著試試看再執行模擬器一次看看。如果還是沒辦法運作的話, 就是時候到 irc.mozilla.org 使用 #b2g 搜尋尋求幫助了。

抹掉 configuration 設定值

有時候,在模擬的行動裝置上使用過期的設定檔的設定值也會讓它暴走。你可以砍掉 indexedDB 資料庫來解決這個問題,如下:

  1. 確定 adb 在執行中,如同 Make sure the adb server is running 中所描述的一般。
  2. 啟動模擬器。
  3. 先打開電腦裡的 terminal,然後切換到編譯模擬器的主目錄 (root code build directory),接著打:「out/host/<platform>/bin/adb -e shell」;在 Mac 上使用「out/host/darwin-x86/bin/adb -e shell」。
  4. 現在你已經在 adb 的 shell 裡面、且可以直接在模擬器的行動 裝置上執行 shell 指令 (commands)了。讓我們使用「stop b2g」來停止裝置上的 B2G。
  5. 刪除 indexedDB 資料庫:rm -rf /data/local/indexedDB
  6. 在模擬的行動裝置上重新啟動 B2G:start b2g

希望此時您所打開 Gaia 介面一切都恢復正常。

設定模擬器

如果您想要調整模擬器更接近您想要模擬的裝置的話,有幾個選項可以改改看。這一節提供一些關於「如何調校」的基本資訊。您可以編輯 run-emulator.sh (觀念上還是複製一份來編輯)這個 script 來調校模擬器的設定。這裡指會討論到一些最常用到的參數;您可以 連到 qemu 網站 來看其他部分的細節。

Tip: 您可以為每個想要模擬的裝置建立一個 run-emulator.sh 的複製版本;這會您比較容易以不同的設定啟動模擬器。

改變外觀

模擬器預設會以 HVGA 模式啟動;VGA 的一半、也就是 320x480 pixels 的外觀。在啟動時,我們可以給模擬器加上 -skin 的參數來指定外觀。您可以編輯 run-emulator.sh 來切換成不同的顯示模式來執行模擬器。可以使用的外觀列表如下:

  • HVGA (320x480)
  • QVGA (240x320)
  • WQVGA (240x400)
  • WQVGA432 (240x432)
  • WSVGA (1024x600)
  • WVGA800 (480x800)
  • WVGA854 (480x854)
  • WXGA720 (1280x720)
  • WXGA800 (1280x800)

外觀的存放位置在 B2G/development/tools/emulator/skins 目錄。外觀的格式很簡單;如果您打開來看的話,他們只是一些資料夾,裝著一些使用者介面物件的 PNG 檔案以及一個描述使用者介面的配置及螢幕區域的文字檔 layout。如果需要建立客製化的外觀的話,是還蠻簡單的。

改變記憶體的大小

另一個您可能想要/需要改變的選項就是行動裝置的記憶體大小。預設是 512MB;然而,如果您要模擬的行動裝置的記憶體比較大或小的話,或許對您而言,將記憶體調整成一樣的大小是很重要的,這樣才能確定您的 app 會在您想要執行的基礎裝置上執行。您可以將 -memory 參數的數值修改成您需要的數字(以 MB 為單位),就可以改變執行時的記憶體大小。除了預設的 512MB 之外,您可能會想要以 256MB 和 1024MB 來做測試。

而如果想要改變模擬裝置的儲存容量大小的話 (就是 local 資料的儲存空間,像是行動電話的內建快閃記憶體或是電腦的硬碟),可以改變 -partition-size 參數的數值。預設是 512MB,但是您可以改成任何大小 (以 MB 為單位)來模擬想要測試的行動裝置。

網路連線

如果因為某些原因,您沒辦法將您的模擬器連上網際網路 (internet)的話,您可以從命令提示字元來執行下面的指令 (commandline):

adb shell setprop net.dns1 10.0.2.3

文件標籤與貢獻者

 此頁面的貢獻者: chrisdavidmills, teoli, naihsi
 最近更新: chrisdavidmills,