编译环境
-
系统:ubuntu 14.04 64位
-
稳定的翻墙工具
安装JDK
我的jdk没有通过apt-get安装,而是拷贝其他地方的,只要在 ~/.bashrc
文件里将jdk的路径配置到环境变量中即可。
export PATH = [jdk dir]/bin:$PATH
下载depot_tools
depot_tools提供了gclient来为chromium进行多源代码管理,首先是下载。
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
完成下载后,同样地,在~/.bashrc
文件中,要将depot_tools的路径添加到环境变量中。
export PATH = [depot_tools dir]/bin:$PATH
获取chromium源码
在系统里建立目录用于存放源码,我这里的目录是~/chromium
。然后在该目录下
user:~/chromium$ fetch --nohooks --no-history android
这里有很多选项,比如chromium,ios,android等等,由于目标是要编译chromium for android,所以这里选择android。选择 --no-history参数可以不下载以往的历史。
如果网络中断了,键入以下命令继续下载
user:~/chromium$ gclient sync --nohooks
获取源码依赖于网络通畅情况,大概一天后,下载完成了。
安装第三方库
user:~/chromium$ ./src/build/install-build-deps-android.sh
配置GYP(generate your project)
本次操作最后会在out/debug文件夹下生成编译apk需要的build.ninja文件。
user:~/chromium$ echo "{ 'GYP_DEFINES': 'OS=android', }" > chromium.gyp_env
根据GYP文件更新项目
user:~/chromium$ gclient runhooks --nohooks
编译Content Shell并安装到手机上
user:~/chromium/src$ ninja -C out/Release content_shell_apk
user:~/chromium/src$ build/android/adb_install_apk.py --apk ContentShell.apk --release
第一步命令执行时非常缓慢,我编译了四个小时才完成,卡在编译出so文件时卡住了大概两小时,电脑性能好一点能极大提高编译效率。
备忘
-
除了chromium源码会跟新,depot_tools
也需要使用最新的,一开始我的depot_tools工具是拷贝别处的,他本来是去年使用的,我更新源码后使用他的depot_tools会报error command download_from_google_storage
的错误,查错了很久都没能解决,多花了不少时间。 -
在linux系统下不要使用图形界面的复制,会莫名其妙出错,在命令行下执行
cp -r [from_dir] [to_dir]
好很多
稳定的网络环境是最重要的,推荐一个科学上网工具: http://t.cn/RorJRd7
网友评论