天天看点

chromium for android 源码编译

官方文档

https://chromium.googlesource.com/chromium/src/+/master/docs/android_build_instructions.md

准备

Ubuntu (其他linux也可以,但是官方推荐ubuntu,Windows和mac是不行的)

梯子

下载depot_tools

depot_tools是Google提供的为chromium进行代码管理的一套工具,包括gclient,gn,gyp等一系列脚本工具等,在以后和源码打交道时会一直使用到它。

首先是下载。

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

下载后配置环境变量,在.bashrc或者.bash_profile或.zshrc等。

export PATH = [your_depot_tools dir]/bin:$PATH

下载chromium源码

首先是创建一个目录存放源码,然后进入这个源码。

mkdir chromium && cd chromium

fetch --nohooks android

如果您不想要完整的回购历史记录,可以通过将–no-history标志添加到来节省大量时间fetch。

fetch --no-history android

这一过程可能需要较长时间.如果中途出了什么问题,一定要进行以下步骤:

gclient sync

如果到这步没有问题,那么恭喜你,源代码下载成功了。

./build/install-build-deps.sh

以及安装第三方库(src目录下)

./build/install-build-deps-android.sh

如果还不行,请检查网络代理后再sync。~

中途可能会出现某个py文件执行错误或者exit ,请不要担心,重新确认可以翻墙后再sync一次。

编译源代码

官方文档解释,已经放弃GYP了,现在推荐使用GN进行配置和build。

gn args out/Default

这里的out/Default目录就是以后编译的apk的输出的一层,apk会存放在apks中。

接着稳妥起见,可以再来一次sync.

gclient sync

接下来准备编译环境:

. build/android/envsetup.sh

官方对编译提供了3种编译方案,分别是完整的浏览器,content shell(提供了浏览器基本功能的一个壳),webview。

编译完整浏览器:

ninja -C out/Default chrome_public_apk

可以在out/Default/apks中看到相应的apk.

编译contentshell:

ninja -C out/Release content_shell_apk

编译webview:

ninja -C out/Release android_webview_apk

这几步都可以得到对应的apk。

可以将手机连接到电脑,然后可以push过去安装,或者直接install,当然也可以用官方文档提供的方法直接使用depot_tool进行安装。

好了,到这里就完成了chromium的编译,可以修改代码进行提交了。

继续阅读