环境准备:
win11操作系统
16G内存
100G硬盘
能够翻墙的代理
python 3.9.x
本文只是列举主要过程,具体细节自己去研究。
1.安装vs2022
自行百度下载安装,注意win11要安装2022,不要安装2019
2.下载安装depot_tools
自行百度下载,不难,下载后设置环境变量,需要上移动到最上面
配置好后,cmd 到depot_tools目录后执行gclient 更新依赖
3.配置环境变量
DEPOT_TOOLS_WIN_TOOLCHAIN=0
GYP_GENERATORS=msvs-ninja,ninja
GYP_MSVS_OVERRIDE_PATH=C:\Program Files\Microsoft Visual Studio\2022\Community
GYP_MSVS_VERSION=2022
vs2022_install=C:\Program Files\Microsoft Visual Studio\2022\Community
WINDOWSSDKDIR=C:\Program Files (x86)\Windows Kits\10
4.拉取源代码
创建一个文件夹work/chromium,cmd进入这个目录,在cmd中输入
fetch –-no-history chromium
中间断开,可以用gclient sync同步
拉取代码前需要配置代码,要不无法下载,CMD执行
git config --global http.proxy "127.0.0.1:1080"
git config --global https.proxy "127.0.0.1:1080"
netsh winhttp set proxy 127.0.0.1:1080
set HTTP_PROXY=http://127.0.0.1:1080
set HTTPS_PROXY=http://127.0.0.1:1080
set DEPOT_TOOLS_WIN_TOOLCHAIN=0
5.源码编译
cd work/chromium/src
gn gen --ide=vs out\Default //生成方案
autoninja -C out\Default chrome //编译代码 chrome表示只编译chrome部分 不加得话是全部编译,时间较长
如果中间报错继续终端,继续执行ninja -C out/Default chrome
再之后修改了chromium会增量更新
如果内存溢出,报错LLVM ERROR out of memory,可以执行ninja -C out\Default chrome -j 5
降低线程数
编译好后可以在out\Default目录下发现生成了chrome.exe,说明编译好了
6.修改源码,进行测试
将navigator.webdriver设置为true
7.重新编译源码
8.编译后查看属性值
发现属性值已经被更改,说明编译环境没问题了。
部分报错
取消配置代码,CMD执行
git config --global --unset http.proxy
git config --global --unset https.proxy
netsh winhttp reset proxy
set HTTP_PROXY=
set HTTPS_PROXY=