chromium源码的下载与编译

  这篇文章主要记录在chromium源码下载以及编译过程中遇到的问题。一直都对chromium的源码感兴趣,在没有封闭外网之前,下载了一个版本,很老了,重新进行更新又不得行,再加上公司的产品线路需要了解chromium的相关知识,又加上疫情封控在家,就又升起了下载并编译chromium源码的想法(其实在这些年的过程中都尝试过下载,但由于各种原因(外网经常被封等)没有下载成功)。
  刚开始,一直按照官网上的介绍文档(https://chromium.googlesource.com/chromium/src/+/main/docs/windows_build_instructions.md)来进行代码的迁移,但始终在迁移代码时,会遇到git外网下载中断的问题,又要重新开始,很麻烦。后面经过查询资料,现在的chromium源码迁移到git上面了,而国内的电信网络访问git时没有问题的,因此萌生了一种替代的想法,在经过下载测试的过程中,竟然能行,因此记录一下成功的下载(大概经历了6-7天才搞完)。

一、chromium概况

  Chromium 是一款来自 “The Chromium Project” 的开源图形网络浏览器,基于 Blink 渲染引擎。它也是商业软件 Google Chrome 浏览器得以组成的基础。目前Chromium分为4个版本(详见https://www.chromium.org/getting-involved/dev-channel/):

  • stable release版本:稳定版本的通道,2-3周更新一个小版本,每6周更新一个大版本。
  • development release版本:相对稳定的版本,新功能和新特性都有。
  • canary版本:是最前沿的实验版本,每日发布。注意:它没有经过充分测试,可能有某些奇怪的bug。
  • beta版本:测试版本。

二、获取Chromium源代码

  首先是根据可官方文档中的说明,在下载Chromium源代码之前,需要能够访问chromium的官网(即FQ),然后就是系统需要满足一定的要求,我这里使用的是Windows系统,就按照Windows的要求来做,另外我使用的WireGard工具来访问google。

1、安装depot_tools

  depot_tools是Google官方提供的一个用来checkout、compile、run和submit的工具集,它主要用于管理与 Chromium 源代码存储库和 Chromium 开发过程中需要安装的编译工具。它可以更好的帮助我们学习和调试Chromium代码。有关它的详细介绍详见:https://www.chromium.org/developers/how-tos/depottools/#introduction
  windows环境下,有两种方式可以下载该工具:
    1、在浏览器中输入https://storage.googleapis.com/chrome-infra/depot_tools.zip,即可下载depot_tools工具;
    2、使用git命令将该工具迁移到指定的目录,使用的命令行如下:

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

  下载完成后,则将depot_tools的路径设置到系统环境变量中,我的设置路径如下图所示:
image.png
  设置完环境变量后,按照同样的方式要设置DEPOT_TOOLS_WIN_TOOLCHAIN的环境变量并设置为0.这个环境变量是告诉depot_tools是使用本地安装的Visual Studio。要不然depot_tools会使用一个google-internal版本。环境变量如下图所示:
image.png
  然后还要根据电脑上安装Visual Studio版本来设置一个环境变量,来告诉depot_tools使用的是哪一个版本。由于我电脑上安装的是VS2022,因此我的环境变量如下图所示:
image.png
  环境变量配置完成后,则打开命令提示符,输入gclient命令,用于安装处理代码所需的所有Windows的工具,包括msysgit和python。
  然后新建一个chromium目录,并在命令提示行工具中导向这个目录。

2、获取源代码

  注意,这里就不用按照官方文档的命令fetch chromium 去下载源代码了(就算是FQ,国内也很难下载下来),这里我使用的是git命令去git服务器去下载代码(这一部分可以不用FQ,国内也能下载,且速度不差),命令如下:

git clone "https://github.com/chromium/chromium.git"`

  等待上面的命令执行完成(根据网速来,我这里大概1-2小时下载完毕),并下载完成后,会产生一个chromium的目录,该目录上包含了chromium的源代码。然后将该目录的名字修改成src,就相当于源码下载完成。但这个下载没有下载windows下的各种依赖、三方库等的源码,因此,在该目录,运行下面的命令(z该命令需要FQ):gclient sync --jobs 16,来下载对应的依赖库。这里下载失败了,就始终去运行这个命令,然后就会下载成功。下载成功后,我的目录结构如下图所示:
image.png

3、构建代码

  Chromium使用Ninja作为其主要的构建工具,以及一个名为GN的工具来生成文件。
  如果不需要产生sln文件,就使用如下的命令来产生对应的编译文件:

gn gen out/Default/X64

  然后使用以下的命令来产生对应的chromium的运行程序:

autoninja -C out\Default chrome

  因为我要产生sln文件并进行代码调试,我使用以下的命令来产生sln文件(备注:这里的终端建议使用管理员身份运行)。产生后的文件夹列表如下图所示:

gn gen --ide=vs out/Default/X64

image.png
  产生文件夹成功后,会有10902个项目,编译起来也是个大麻烦。我一开始编译(我的电脑16G内存,被占的满满的)并编译了8-9小时,建议晚上编译,白天会工作不了。我的电脑用vs2022打开整个项目,如下图所示:
image.png
  无论上面两种哪一种进行编译,然后进行exe运行,运行结果如下图所示:
image.png

参考资料

1、https://chromium.googlesource.com/chromium/src/+/main/docs/windows_build_instructions.md
2、https://www.chromium.org/getting-involved/dev-channel/

  • 5
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值