chromium源码base编译-windows下编译chromium浏览器的15个流程

阅读目录

编译

系统是windows,国外在windows上编译chromium的资料比较少。 本文只能作为参考,记录一下我遇到的一些问题,因为chromium团队也会改代码,或者编译过程;

如果您使用 Linux 或 Mac,请不要阅读本文。 美国编译的文档都是linux和mac的,因为还有很多差距;

15个编译过程:

1:chrome源码

2:系统要求:win7以后的版本,处理器需要x86或x64;

3:Windows下至少需要8G可用显存,硬盘最好是固态的。 Chromium整个项目需要10G硬盘空间;

4:vs2015第二版或者更新版本,安装时选择自定义安装(Visual C++、MFC下选择3个选项);

还有window10的SDK,总之看到就选SDK,不然就得重装VC2015:

chromium源码base编译-windows下编译chromium浏览器的15个流程

5:下载depot_tools:;

6:下载后解压,设置depot_tools为环境变量,环境变量DEPOT_TOOLS_WIN_TOOLCHAIN=0;

7:创建chrome_build目录,把chrome的源码放在这里(用git下载很慢); 如果是mac系统,直接参考官方文章:

运行下面的代码

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

8:执行gclientsync。 如果没有问题的话,你会手动下载python和git。 这时候请注意,因为GW的原因,我们不得不让git的合约也经过代理

让git走代理的前提是有代理服务器或者socks代理。 我使用的是socks5代理,代理端口是本地1080:

运行下面的代码

git config --global https.proxy  socks5://localhost:1080
git config --global core.proxy  socks5://localhost:1080
git config --global http.proxy  socks5://localhost:1080
git config --global http.sslVerify false

如果我们想取消git的代理,我们执行以下命令:

运行下面的代码

git config --system (或 --global 或 --local) --unset http.proxy
git config --system (或 --global 或 --local) --unset httpx.proxy
git config --system (或 --global 或 --local) --unset core.proxy

9:上面这一步是给git设置代理,代理是本地的sock5,对于python还没有设置代理。 如果不给python设置代理,会导致python下载文件失败。 我们通过更改 depot_tools 的源代码来让 python 消失

更改几个文件。 该路径是相对于depot_tools目录的。 目前只需要改3个python脚本文件,以后就不会知道了。 必须根据cmd给出的错误源自行更改:

depot_toolsgsutil.py

depot_toolsexternal_bingsutilgsutil_4.15gsutilthird_partyhttplib2python2httplib2__init__.py

depot_toolsexternal_bingsutilgsutil_4.13gsutilthird_partyhttplib2python2httplib2__init__.py

相关文件导入后,在主程序代码前面添加:

运行下面的代码

chromium源码base编译-windows下编译chromium浏览器的15个流程

import win_inet_pton
import socks
import socket
socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, "127.0.0.1", 1080)
socket.socket = socks.socksocket

由于我本地使用的是shadowsocks,所以我将代理设置为本地1080端口

如果下载过程卡住,可以使用任务管理器判断后台是否有下载。 如果确实卡住,按ctrl+C强制取消chromium源码base编译,然后重新执行gclientsync重新同步;

10:在src目录下执行,python会链接下载第三方依赖模块:

运行下面的代码

gclient runhooks

12:生成BUILD.gn文件:

运行下面的代码

gn gen outDefault

13:至此,代码下载完成,然后执行:

运行下面的代码

ninja -C out/Default chrome

如果机器不好的话,我们可以更改编译参数:ninja-j配置同时编译任务的数量,默认是6,如果机器比较卡的话,需要更改,否则编译过程会走错误的;

14:两万多个文件,让他逐步编译:

15:经过几个小时的编译,结果终于出来了:

参考:

chromium源码base编译-windows下编译chromium浏览器的15个流程

python去socks5代理参考:

执行gclient时下载远程rar包困难的解决办法:

这哥们成功编译了chromium:

howtousegitthroughaproxy:老版本的git需要自动将socks5代理转换为git代理,新版本不需要,所以只要有新版本的git就可以了;

Chromium源代码download_from_google_storage很难下载文件:

为 python 安装 pypi 并让 python 通过代理:#windows-simplified

官方文档:

只能说chromium的源码太坑人了。 虽然有fqchromium源码base编译,但依然是各种悲剧。 嘿:

注意:

确保为 git 和 python 设置代理。 如果通过修改host的形式来实现FQ,就会出现验证问题,导致python和git同步文件失败。

不要使用别人下载的项目,因为chromium项目很大,编译会涉及到操作系统、环境、编译工具、chromium版本、FQ、文件下载失败、验证……各种问题,你可以FQ下降

我建议大家不要看网上的chrome编译教程,因为chrome的代码还在更新中,现在又出现了新的编译形式,可以让别人编译。 你一定不能编译它。 最好的办法就是参考官方文档。 你必须阅读官方文档。 :

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 源码编译 chromium源码base编译-windows下编译chromium浏览器的15个流程 https://www.wkzy.net/game/175402.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务