chromium源码获取&编译2020

chromium源码获取&编译(2020)
虽然只是编译,但是想把chromium编出来实属不易,中间遇到的问题和错误在这里都总结一下
近期在做浏览器项目,Windows平台。
最初对于chrome和chromium仅仅知道是谷歌的浏览器(甚至不知道chromium源码编译出来是一个内核or库or浏览器。小声bb)编完了之后才知道,会产生一个chromium.exe 和安装包版的chromium大体应该是一样的。

编译完成

不得不狠狠地吐槽一下谷歌,编这玩意儿太费事了,体积也太大了吧龟龟!
现在呢就打算记录一下这个辛酸的历程

首先声明一下,和其他作者早期写的文章一样,仅供参考。具体的还是要参照谷歌官方的文档来操作。虽然过程可能大同小异,但是如果官方有所改变,十有八九就是编不过去。
官网:https://www.chromium.org/

环境:win10,vs2017。硬盘空间建议预留150G再来搞,网络自己懂得~~

最初我也是参照着其他人的帖子进行的,然鹅都没成功

PS:在我编译的时候,官网指定的vs版本最低要求为2017
so,装个2017呗
附上安装包:链接:https://pan.baidu.com/s/1iYmQXfTb2y6IpinMdZQWbg 提取码:w7d7

官网源码:https://chromium.googlesource.com/chromium/chromium/

访问不了谷歌的话试下配置代理,具体还是看自己PC上的配置,这里就不分析了
参考:https://blog.csdn.net/siyu77/article/details/50916320
http://blog.sina.com.cn/s/blog_496be0db0102voit.html

如果因为网络原因,谷歌网页访问不了,git也不通,那后续没戏了

下载depot_tools编译需要用到:https://src.chromium.org/svn/trunk/tools/depot_tools.zip

比较小,网络成功的话应该很容易下,直接默认装c盘就ok
环境变量:

DEPOT_TOOLS_WIN_TOOLCHAIN  = 0

其他的环境变量:

DEPOT_TOOLS_UPDATE = 0
GYP_GENERATORS = ninija,msvs-ninja
GYP_MSVS_VERSION = 2017(你装的vs版本)
GYP_MSVS_OVERRIDE_PATH = C:\Program Files (x86)\Microsoft Visual Studio\2017\Community
(vs路径,到2017\Community为止,最后一级目录是vs的版本,企业版/专业版)
path = C:\src\depot_tools(depot_tools路径,放在所有路径的最前面)

然后到准备下源码的地方cmd

mkdir chromium //创建目录
cd chromium 
fetch --no-history chromium //同步代码

我这边可能内网还是其他环境问题,死活下不下来,然后找了个压缩包
附上链接:https://download.csdn.net/download/weixin_39800118/12103689

下载解压后并不是完整的源码,后续还是需要去把源码同步下来,完整的大概20G+,此外还有些第三方库

fetch不下来的话就下个压缩包来搞吧,反正fetch完也还是要同步的

还是这里cmd

gclient

据官方和其他人的说法,这里会自动给安装Python 和git
在这里插入图片描述
然鹅???
我这边不是被墙翻车就是没得反应
在这里插入图片描述

咋办呢。死马当活马医呗
自己去官网下了Python 2.7(必须2.7 !! 不能是3)
git下个最新或者比较近的都ok,新装git后,配置用户名什么的这里就不赘述了

然后在解压好的目录D:\Chromium7z\Chromium\src,就是src下,cmd执行

gclient sync

网络、代理、git代理。。都没问题的话,这里应该能成。有问题的话根据提示百度基本上能解决
只要sync能跑就离成功近了一步
这一步能把代码同步到最新,也是耗时非常久的一步
在这里插入图片描述
在这里插入图片描述
我这边网络本来就不是很好,同步了好几天。根据网上说的still working on 就代表还在跑。然鹅通过看网络流量在这里插入图片描述
同步了一段时间后,流量就平了,虽然still working on,但仅仅是进程再跑,网络已经翻车了。。so 如果看到流量一阵子不动了,可以ctrl+c给强制中断掉,然后再gclient sync继续同步。因为gclient sync走的是git,支持断点续传,回来继续跑。但是fetch断了也就翻车了
中断掉重来

在这里插入图片描述
100%done 就同步完了

下面就开始编译了
在src目录执行, 据说是下载第三方依赖模块:

gclient runhooks

下一步生成BUILD.gn文件

gn gen out\Default

敲黑板,这里如果跑不动,前面环境变量检查一下。
或者出错的,比如我遇到的
在这里插入图片描述
根据提示就可以看出是win10kit出问题了。
再次吐槽一下谷歌,因为需要最新版的win10sdk支持,所以去官网下一个
在这里插入图片描述
默认装就好

在这里插入图片描述
装完在跑一次就Done啦

开始编译

ninja -C out/Default chrome

这个时间也非常久在这里插入图片描述
在这里插入图片描述
等就完事儿啦,总共编出来+源码100g多
在这里插入图片描述

原创文章,转载请注明来源

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值