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

準備第一次建置 B2G

在開始建置 B2G 前,要先複製整個倉儲 (repository)並且作編譯的設定。這篇文章說明要怎麼做。

複製 B2G 倉儲(repository)

在第一次編譯前,要做的第一步就是複製 B2G 的倉儲(repository)。這個步驟將不會把所有東西抓下來!相反地,他會抓 B2G 建置系統和安裝工具。B2G 大部分的程式碼都在主要的 Mozilla Mercurial 倉儲。

用 git 來複製倉儲:

git clone git://github.com/mozilla-b2g/B2G.git

複製了之後(應該會花個幾分鐘),cd 到 B2G 的目錄:

cd B2G

複製 B2G 樹(tree)到一台新機器

當您有一台新電腦時(超幸運的!),您會覺得把 B2G tree 從一台電腦轉移到另一台電腦的話,生活會簡單很多。

將您就電腦的磁碟掛上(mount)到新的電腦,然後敲入下面的指令,就可以做到:

rsync -a source/ dest/

source 是整個原始碼樹(source tree)的完整路徑 (包括後面的斜線),而 dest 是您要複製的目的位置 (同樣也包含後面的斜線,它很重要!)。

這樣做之後,您可以跳過這篇文章剩下的部份,然後直接跳到的「建置」部份。

設定專屬於您的行動裝置的 B2G

重要:請注意只支援 Android 4 (aka. Ice Cream Sandwich) 的行動裝置。請確認您的手機運作的真的是 ICS,否則這個步驟很可能會失敗於某些非 Nexus 裝置的驅動程式。另外,如果您必須要將行動裝置燒成 ICS,請留意有些 USB hubs 和燒錄工具不相容,因此您可能需要將行動裝置連接到內建的 USB port。

擷取了核心的 B2G 建置系統之後,您需要為了要安裝的行動裝置作設定。您可以使用 config.sh 工具來擷取支援的行動裝置列表,如下:

./config.sh

這會顯示支援的行動裝置列表;舉例來說:

Usage: ./config.sh [-cdflnq] (device name)
Flags are passed through to |./repo sync|.

Valid devices to configure are:
- galaxy-s2
- galaxy-nexus
- nexus-4
- nexus-4-kk
- nexus-5
- nexus-5-l
- nexus-s
- nexus-s-4g
- flo (Nexus 7 2013)
- otoro
- unagi
- inari
- keon
- peak
- hamachi
- helix
- tarako
- dolphin
- dolphin-512
- pandaboard
- vixen
- flatfish
- flame
- flame-kk
- flame-l
- rpi (Revision B)
- emulator
- emulator-jb
- emulator-kk
- emulator-l
- emulator-x86
- emulator-x86-jb
- emulator-x86-kk
- emulator-x86-l
> Sony Xperia devices
- aries (Z3 Compact KK)
- aries-l (Z3 Compact L)
- leo-kk (Z3 KK)
- leo-l (Z3 L)
- scorpion-l (Z3 Tablet Compact L)
- sirius-l (Z2 L)
- tianchi-l (T2U L)
- flamingo-l (E3 L)

如果您的行動裝置沒被列出,您應該馬上停止來幫忙將 B2G 移植到您的行動裝置,或是等到某個人移植完之後再安裝。我們當然比較希望您可以幫忙移植!

注意:如果因為任何原因您想要編譯某個版本的 Gecko,請在您著手之前先看 Building against a custom Gecko

設定給行動裝置

首先,連接您的裝置;設定的過程會需要存取它。

如果您的裝置有被列出,您可以再執行一次 config.sh 來開始設定的程序,這次需要指名您的行動裝置的名字。舉例來說,如果要編譯給 Samsung Google Nexus S的話,您要打:

./config.sh nexus-s

在設定一開始的附近您可能會需要設定使用顏色的選項,而在這之後設定程序會繼續下去。接著可以去喝個咖啡休息一下,因為這個時候您會第一次把建置 Boot to Gecko 中所有需要的程式碼都抓下來。

如果您的手機不再使用 Android 且 B2G tree 還沒裝到手機上,而您又有遵照前幾頁所說、聰明地作了一份 /system 磁區的備份的話,您可以這樣使用它:

ANDROIDFS_DIR=<absolute path to parent dir of system dir> ./config.sh <target>

設定來建置模擬器

如果您要編譯模擬器的話,就需要指定 "emulator" 來使用 ARM 的模擬器,或是 "emulator-x86" 來編譯 x86 模擬器。後者比較快,但也因此在表現實際行動裝置上較不準確。

舉例來說,您要像下面這樣設定來編譯 ARM 模擬器:

./config.sh emulator

在設定一開始的附近您可能會需要設定使用顏色的選項,而在這之後設定程序會繼續下去。接著可以去喝個咖啡休息一下,因為這個時候您會第一次把建置 Boot to Gecko 中所有需要的程式碼都抓下來。

編譯客製的 Gecko

可能您會想要或需要以好幾種版本的 Gecko 來編譯 Boot to Gecko (manifest 中預設是一種)。您可以在您抓倉儲 (在上述的 config.sh 之前),藉由編輯 .userconfig 來做到這件事情。舉例來說,如果您要根據 mozilla-central 來編譯:

GECKO_PATH=/path/to/mozilla-central
GECKO_OBJDIR=/path/to/mozilla-central/objdir-gonk

注意: 如果是在 Mac OS X 下客製化編譯的話,檔案系統本身會注意 mozilla-central 的大小寫。

您可以參考 客製化 .userconfig 設定檔 來客製化更多東西。

接著,開始編譯

文件標籤與貢獻者

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