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的编译,可以修改代码进行提交了。

你可能感兴趣的:(chromium,chromium,源代码,编译)