chromium for android 编译记要

编译环境

  • 系统: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

你可能感兴趣的:(chromium for android 编译记要)