Chromium源码拉取&编译

作为一个喜欢折腾的程序员,在多次折腾下终于在Linux系统下编译出“ChromePublic.apk”,并成功安装到真机上,以下是一个简单的记录。

系统要求

  1. 运行Linux且至少具有8GB RAM的64位Intel计算机。强烈推荐超过16GB。 [尤为重要,有可能就是这个问题导致编译失败,本人用的是Ubuntu -16.04,算是比较稳定的系统]

  2. 至少100GB的可用磁盘空间。

  3. 你必须已经安装了Git和Python。

  4. 科学上网

安装 depot_tools

在linux下克隆安装该软件:

git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git

配置环境

export PATH="$PATH:/path/to/depot_tools"

以上命令是环境只在该终端下生效,关于如何全局生效,自行百度。

获取代码

为chromium创建一个目录并更改为它(可以随意调用它并将其放在任何您喜欢的位置,只要完整路径没有空格):

mkdir ~ / chromium && cd~ / chromium
fetch - nohooks android

gclient文件和一个名为目录src在工作目录。切换到src目录:

cd src

通过附加target_os = ['android']到.gclient文件(在上面的目录中src)添加Android支持

echo “target_os = ['android']” >> ../.gclient

然后运行gclient sync以获取新的Android依赖项:

gclient sync

安装其他构建依赖项

build/install-build-deps-android.sh

运行 runhooks

gclient runhooks

设置构建

Chromium使用Ninja作为其主要构建工具以及一个名为GN的工具来生成.ninja文件。您可以使用不同的配置创建任意数量的构建目录。要创建构建Chrome for Android的构建目录,请运行:

gn gen --args='target_os="android"' out/Default

编译Chormium

autoninja -C out/Default chrome_public_apk

编译进行中,等待编译完成,在“/chromium/src/out/Default/apks”目录下既可以看到成品apk,即可以安装到真机上。整个编译过程比较慢,需要多多关注编译过程中编译失败爆出的log。

疑问解决

1.编译过程中提示缺少python相关库,需要先安装该库。
2.编译过程中可能会提示缺少一些c或者c++相关的库的信息,同样也需要去查找安装。在我编译过程中出现过去少“clang”相关库。后续安装

sudo apt-get install clang-tools-6.0

该库我也不知道干什么的,就傻瓜安装吧,“sudo apt-get install clang”按上“tab”键可以查看具有哪些库。
整个过程提示过几个库不存在,奈何在编译过程中没做好记录,不过不要怕,缺什么装什么就行了。

补充

1.模块编译

$ ninja -C out/Default/ net
$ ninja -C out/Default/ url
$ ninja -C out/Default/ zlib

这将在chromium/src/out/Default下产生这些模块的BUILD.gn文件中定义得targets,比如net和url的共享库,zlib得静态库等。
2.具体其他可以参照其官网

猜你喜欢

转载自blog.51cto.com/14116767/2327750