chromium版本更新特别快,建议参考官方教程:https://chromium.googlesource.com/chromium/src/+/HEAD/docs/windows_build_instructions.md
这里我对我的编译过程做个记录。官方要求电脑要求是越高越好,本地磁盘最好是SSD并且有100G空间以上。这里我是去阿里云买了台服务器暂时使用(选的国外地区),配置如下。
1.配置环境
首先要安装Visual Studio,这里我是选择的Visual Studio2019社区版,官方的要求如下
需要安装 Desktop development with C++ 部分,以及 MFC/ATL support ,这个MFC/ATL support我不知道在哪,我是直接搜的MFC然后选的最新版本。但是这里有个问题是,Visual Studio2019没有官方要求的 Windows 10 SDK 10.0.20348.0 版本,所以还需要单独去官方给的 Windows 10 SDK地址下载安装,安装完成后建议重启。
2.depot_tools下载和配置
这个是拉取与管理Chromium的工具,后续可以用来管理与更新chromium版本,这里需要添加三个系统环境变量,一个是将该工具的路径添加到环境变量path中,并且要移到最前面。一个是设置DEPOT_TOOLS_WIN_TOOLCHAIN=0,还有就是设置vs2019_install=
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community 我安装的是
Visual Studio2019,所以用vs2019_install,如果你是2022就用vs2022_install,后面对应的就是安装路径。
通过CMD页面,输入gclient进行回车,出现下图内容,则表示depot_tools
配置完成。
depot_tools配置完成后,还需要配置Git,通过Git拉取chromium的代码,在CMD窗口运行下面命令配置Git
git config --global user.name "My Name"
git config --global user.email "my-name@chromium.org"
git config --global core.autocrlf false
git config --global core.filemode false
git config --global branch.autosetuprebase always
创建chromium目录,通过fetch命令拉取chromium代码,--no-history参数表示只拉取最新的代码,如果不加这个参数会将chromium以前的版本也获取过来(大概上百G)。整个过程大概几个小时
mkdir chromium && cd chromium
fetch --no-history chromium
# 如果拉取中间出现错误中断,通过下面命令进行同步
gclient async
3. 构建chromium
chromium代码拉取完成后,进入src目录,通过 gn gen out/Default 命令设置构建目录。通过autoninja -C out\Default chrome命令构建chromium(这个过程电脑配置越高,构建时间越短)。
cd src
gn gen out/Default
autoninja -C out\Default chrome
构建完成后, 输入out\Default\chrome.exe 即可运行chromium
生成压缩后的浏览器可执行文件使用下面命令。这样编译出来会out/Default目录下生成一个压缩包,里面是单独的chromium
autoninja -C out/Default mini_installer
更新
使用 autoninja -C out/Default mini_installer 直接打包得到chrome太大,快2G了,所以在使用该命令前,先设置编译选项。
使用gn命令设置构建参数,这里的Default对应你要构建打包的chrome目录,我这里是用的Defalut目录。
gn args out/Default
运行上面命令后会弹出一个文本编辑器,需要你编辑args.gn里面的内容,这里我将我的构建参数设置如下:
is_debug = false
target_cpu = "x64"
is_official_build = true
symbol_level = 1
enable_nacl = false
blink_symbol_level = 0
v8_symbol_level = 0
is_debug = false,表示关闭调试
target_cpu = "x64",仅在 64 位机器上支持构建
blink_symbol_level=0,不调试webcore的话就设置0
is_official_build = true,官方构建
symbol_level = 1,symbol_level=1,它的构建速度与 symbol_level=0 几乎一样快,但会在调用堆栈中为您提供更多信息。
enable_nacl = false,不需要测试 Native Client 功能
v8_symbol_level = 0,不调试 v8
修改 .gclient 文件
solutions = [
{
"name": "src",
# ...
"custom_vars": {
"checkout_pgo_profiles": True,
},
},
],
主要是将"custom_vars": 这部分内容添加进去。添加后的 .gclient 文件内容如下所示
以上内容添加完成后,再运行 autoninja -C out/Default mini_installer 命令就可以了,这次编译会更久
官方文档介绍:GN build configuration