heX 及 HeXium 编译指南
包括下载,构建工程,编译源代码
背景知识
heX 依赖 Chromium、CEF 和 Node.js 项目。在下载 heX 源代码之前,需要先准备好指定版本的 Chromium 源代码,但不需要下载 CEF 和 Node.js 项目源代码,因为构建工具会自动下载它们。
以上项目的首页:
- Chromium: http://www.chromium.org
- CEF: https://code.google.com/p/chromiumembedded
- Node.js: https://github.com/joyent/node
下载 Chromium 源代码
Chromium 的项目 WIKI 中有非常详细的下载步骤,可通过 svn 或者 git,以及所需要的 depot_tools。参见:http://dev.chromium.org/developers/how-tos/get-the-code。
而 Chromium 是一个巨大的项目,若通过 SVN 获取其源代码会耗费大量的时间。为了节省宝贵的时间可以直接下载源代码包。下面主要介绍一下快速下载的方法:
- 在浏览器中打开此链接:http://chromium-browser-source.commondatastorage.googleapis.com
- 在 heX 源代码根目录的 CHROMIUM_BUILD_COMPATIBILITY 文件中查找指定的 Chromium 版本号
- 在上面的链接所指的 XML 文件中找一个与指定版本号最接近的版本。如,查找 rXXXXXX
- 下载这个最接近的版本号的源代码包
- 解压并且进入到包中 src 目录的父目录
- 执行
gclient sync --revision src@指定的Chromium版本号 --force --jobs 32
- 一会儿之后,指定版本的 Chromium 源代码会更新完毕
注意:似乎在升级到 blink 内核之后,步骤 1 的列表已经不再更新。
检出 heX 和 HeXium 源代码
heX 和 HeXium 共享同一套源代码,通过不同的构建工具来生成对应的工程。heX 的源代码必须放置在 Chromium 源代码的 src 目录下。检出 URL 是 https://github.com/netease-youdao/hex.git。
代码检出后,目录结构会是:
src - base
hex
...
准备编译环境
从源代码编译 heX 及 HeXium 目前暂时支持 Windows 和 Mac OS X,其中 Mac OS X 下编译 heX 还存在一些问题,会在近期修正。至少需要 4GB 系统内存,推荐 8GB 甚至 16GB 内存。
为了编译 Chromium、Node.js、CEF 以及 heX 源代码,你必须从这里开始配置编译环境,在系统中安装编译前期必要的开发环境。请参考:
- CEF
- Node.js
- Chromium:
完成上述配置后,你需要下载指定版本的 Node.js 与 CEF,并且通过 GYP 生成工程文件。heX 的构建工具会自动将下载 Node.js、CEF 与生成工程文件,只需在 heX 源代码目录中执行 hex.bat
或 hex_end_user.bat
(end user 版本) 即可。
编译 heX
heX 的自动构建工具会根据当前的平台生成对应的工程文件:
- Windows:用 Visual Studio 打开刚生成的 hex.sln,将 hexclient 工程设置为启动工程,编译!
- Mac OS X:用 Xcode 打开刚生成的 hex.xcodeproj,编译!
一段时间之后(这取决于你的计算机硬件配置),你会在 src/hex/build
目录中找到编译的结果。
编译 HeXium
HeXium 本质上是一个经过修改的加入了 Node.js 的 Chromium 浏览器。这个子项目并不需要 CEF 的支持。
在运行了上面提到的 hex.bat
脚本之后,进入 Chromium 源代码 src
的上层目录,运行 gclient hooks
。这样做是确保用于编译 HeXium 的全部工程文件构建正确。
工程文件构建完毕后进入 src/chrome
目录中找到
- Windows:chrome.sln
- Mac OS X:chrome.xcodeproj
并使用默认的 IDE 打开,编译!
比编译 heX 更久的一段时间之后(这同样取决于你的计算机硬件配置),你会在
- Windows:
src/build/Debug or Release
- Mac OS X:
src/xcodebuild/Debug or Release
中找到编译的结果。