heX 及 HeXium 編譯指南

2018-08-29 14:03 更新

包括下載,構(gòu)建工程,編譯源代碼

背景知識(shí)

heX 依賴 Chromium、CEFNode.js 項(xiàng)目。在下載 heX 源代碼之前,需要先準(zhǔn)備好指定版本的 Chromium 源代碼,但不需要下載 CEF 和 Node.js 項(xiàng)目源代碼,因?yàn)闃?gòu)建工具會(huì)自動(dòng)下載它們。

以上項(xiàng)目的首頁(yè):

下載 Chromium 源代碼

Chromium 的項(xiàng)目 WIKI 中有非常詳細(xì)的下載步驟,可通過(guò) svn 或者 git,以及所需要的 depot_tools。參見(jiàn):http://dev.chromium.org/developers/how-tos/get-the-code。

而 Chromium 是一個(gè)巨大的項(xiàng)目,若通過(guò) SVN 獲取其源代碼會(huì)耗費(fèi)大量的時(shí)間。為了節(jié)省寶貴的時(shí)間可以直接下載源代碼包。下面主要介紹一下快速下載的方法:

  1. 在瀏覽器中打開(kāi)此鏈接:http://chromium-browser-source.commondatastorage.googleapis.com
  2. 在 heX 源代碼根目錄的 CHROMIUM_BUILD_COMPATIBILITY 文件中查找指定的 Chromium 版本號(hào)
  3. 在上面的鏈接所指的 XML 文件中找一個(gè)與指定版本號(hào)最接近的版本。如,查找 rXXXXXX
  4. 下載這個(gè)最接近的版本號(hào)的源代碼包
  5. 解壓并且進(jìn)入到包中 src 目錄的父目錄
  6. 執(zhí)行 gclient sync --revision src@指定的Chromium版本號(hào) --force --jobs 32
  7. 一會(huì)兒之后,指定版本的 Chromium 源代碼會(huì)更新完畢
    注意:似乎在升級(jí)到 blink 內(nèi)核之后,步驟 1 的列表已經(jīng)不再更新。

檢出 heX 和 HeXium 源代碼

heX 和 HeXium 共享同一套源代碼,通過(guò)不同的構(gòu)建工具來(lái)生成對(duì)應(yīng)的工程。heX 的源代碼必須放置在 Chromium 源代碼的 src 目錄下。檢出 URL 是 https://github.com/netease-youdao/hex.git。

代碼檢出后,目錄結(jié)構(gòu)會(huì)是:

src - base
      hex
      ...

準(zhǔn)備編譯環(huán)境

從源代碼編譯 heX 及 HeXium 目前暫時(shí)支持 Windows 和 Mac OS X,其中 Mac OS X 下編譯 heX 還存在一些問(wèn)題,會(huì)在近期修正。至少需要 4GB 系統(tǒng)內(nèi)存,推薦 8GB 甚至 16GB 內(nèi)存。

為了編譯 Chromium、Node.js、CEF 以及 heX 源代碼,你必須從這里開(kāi)始配置編譯環(huán)境,在系統(tǒng)中安裝編譯前期必要的開(kāi)發(fā)環(huán)境。請(qǐng)參考:

完成上述配置后,你需要下載指定版本的 Node.jsCEF,并且通過(guò) GYP 生成工程文件。heX 的構(gòu)建工具會(huì)自動(dòng)將下載 Node.js、CEF 與生成工程文件,只需在 heX 源代碼目錄中執(zhí)行 hex.bathex_end_user.bat (end user 版本) 即可。

編譯 heX

heX 的自動(dòng)構(gòu)建工具會(huì)根據(jù)當(dāng)前的平臺(tái)生成對(duì)應(yīng)的工程文件:

  • Windows:用 Visual Studio 打開(kāi)剛生成的 hex.sln,將 hexclient 工程設(shè)置為啟動(dòng)工程,編譯!
  • Mac OS X:用 Xcode 打開(kāi)剛生成的 hex.xcodeproj,編譯!

一段時(shí)間之后(這取決于你的計(jì)算機(jī)硬件配置),你會(huì)在 src/hex/build 目錄中找到編譯的結(jié)果。

編譯 HeXium

HeXium 本質(zhì)上是一個(gè)經(jīng)過(guò)修改的加入了 Node.js 的 Chromium 瀏覽器。這個(gè)子項(xiàng)目并不需要 CEF 的支持。

在運(yùn)行了上面提到的 hex.bat 腳本之后,進(jìn)入 Chromium 源代碼 src 的上層目錄,運(yùn)行 gclient hooks。這樣做是確保用于編譯 HeXium 的全部工程文件構(gòu)建正確。

工程文件構(gòu)建完畢后進(jìn)入 src/chrome 目錄中找到

  • Windows:chrome.sln
  • Mac OS X:chrome.xcodeproj

并使用默認(rèn)的 IDE 打開(kāi),編譯!

比編譯 heX 更久的一段時(shí)間之后(這同樣取決于你的計(jì)算機(jī)硬件配置),你會(huì)在

  • Windows:src/build/Debug or Release
  • Mac OS X:src/xcodebuild/Debug or Release

中找到編譯的結(jié)果。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)