准备工作
- 翻墙的梯子(必须,因为需要访问国外服务器进行数据下载和同步)
- 安装VS2019,且请务必把安装路径设置为C盘(最好默认安装),这样可以省掉很多不必要的环境变量配置。(一开始我VS安装在D盘,走了很多弯路也没成功,win10sdk可以放D 盘)
- 安装git
- 安装win10sdk的版本10.0.20348 .0(具体需要哪个版本主要由后面的…/src/bulid/toolchain/win/setup_toolchain.py中的版本要求决定)
正式开始
-
创建一个文件夹并进到文件夹下:D:\work
-
下载depot-tools.zip包(下载chromium源码的一个工具, 里面自带有python工具, 如果已经安装了python,建议先卸载掉,否则会出现一些报错,改起来麻烦)。下载地址:git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git 成功后,进入D:\work\depot_tools如下图
-
添加D:\work\depot_tools 到系统环境变量,且一定要将其放在path的最前面(避免踩坑),为后期做准备。如图
-
需要设置的系统环境变量
1. DEPOT_TOOLS_WIN_TOOLCHAIN 0
2. GYP_GENERATORS msvs-ninja, ninja
3. GYP_MSVS_VERSION 2019
4. WindowsSdkDir D:\Windows Kits\10 (这里具体看你VS2019的SDK在什么地方,主要看对应目录下是不是有
-
打开cmd 进入D:\work\depot_tools下
输入命令:gclient //更新depot_tools到最新版本 -
在D:\work\下创建一个新的chromium,然后 cd D:\work\chromium
然后执行 fetch --no-history chromium //下载chromium源码 -
下载中如果发生了中断,想继续执行要使用
gclient sync --with_branch_heads -
随后cmd进入D:\work\chromium\src 目录中
gclient runhooks //这一步有时可以省略,担心的话也可以执行一下 -
使用ninja工具编译
ninja -C out\Default chrome -j 8 -
如果想要编译成release 32位 正式版
-
找到D:\work\chromium.gclient ,打开后添加配置 “checkout_pgo_profiles”: True
-
执行 **fetch --no-history chromium**
-
进入src下,执行gn gen out\release --ide=vs --args=“”
-
执行设置参数命令:gn args out\release-x86 (名字可以自己取)
-
弹出来的文件窗口内添加下面的配置
is_debug = false target_cpu = "x86" is_official_build = true symbol_level = 0 blink_symbol_level=0 v8_symbol_level = 0 enable_nacl = false ffmpeg_branding = "Chrome" proprietary_codecs = true
-
添加好后关闭文件窗口,cmd将自动往后执行
-
-
如果想修改执行进程生成的名称
- 修改src/chrome/build.gn
自定义修改
-
私钥弹框去除
修改路径:chrome/browser/uistartup/infobar_utils.cc
-
默认浏览器弹框提示去除
修改路径:chrome/browser/uistartup/infobar_utils.cc
-
修改注册表产品名称
修改路径:chrome/install_static/chromium_install_modec.cc
第一个kCompanyPathName是注册表根目录,如果想要加子目录 则添加install_suffix的名称,这个时候子目录的名称
编程chromiumBrwser,
如果子目录只想要是Browser,则修改改动代码,路径在chrome/install_stautic/install_util.cc
-
去除工具栏中实验室以及登录按钮
路径:chrome/browser/ui/views/toolbar/toolbar_view.cc
chrome/browser/ui/views/frame/browser_view.cc
-
去除设置里面的登录界面以及左侧按钮
路径:chrome/browser/resources/settings/settings_menu/settings_menu.html
chrome/browser/resources/settings/basic_page/basic_page.html
chrome/browser/resources/settings/route.ts
注:本来想做成禁用 c h r o m i u m 登录,但是找不到对应代码,如果有知道的小伙伴欢迎告诉一声 \color{#FF0000}{注:本来想做成禁用chromium登录,但是找不到对应代码,如果有知道的小伙伴欢迎告诉一声} 注:本来想做成禁用chromium登录,但是找不到对应代码,如果有知道的小伙伴欢迎告诉一声,本来想实现这个功能
-
- 修改src/chrome/build.gn