新手菜鸟摸索——Chromium源码的获取和基于VS2019的编译
新手菜鸟摸索——Chromium源码的获取和基于VS2019的编译
最近根据公司新项目的需要,我的导师给我布置了一个研究Chromium源码并且编译的任务。作为一个刚入职的新人来说,能够在工作中学到新知识是一件很幸福的事,所以我欣然接受了这个挑战。最后,历经三个星期的网上查阅资料,疯狂踩坑,终于让我独自成功拿下!【喜大普奔】【喜大普奔】【喜大普奔】特于此记录我的摸索踩坑过程,望对有需要的求知同道者起到一些指引排坑的作用。
一、Chromium源码的拉取
前期的一些准备
自己手动下载安装好 Git 64位和 Python3.7 64位,并且把它们配置到系统环境路径
没学过Git怎么安装和使用的可以看这里。
1、建议还是通过科学上网的方式到官网上拉取Chromium源码项目。
(由于之前不舍得花那个钱,试着去github上拉取别人放上去的源码,费了好长一段时间拉取不说,到编译的时候各种问题出现,由于不是按照官网给出的步骤进行的,出错了都不知道怎么去检查纠正。(新手嘛,体谅一下)
2、科学上网后,首先需要下载depot-tools并配置环境变量。
depot-tools是由谷歌提供的一款用于拉取与管理Chromium的强大工具,我们后期将会通过它来管理与更新Chromium版本。
方法步骤:
- 1)打开要保存depot-tools的路径目录下,右键点击 git bash,然后输入以下命令:
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
- 2)配置系统环境变量
把depot-tools的路径添加进系统变量的 Path中。【注意:depot-tools的路径一定要放在python的路径之前】
3、做好前期准备后,开始进行Chromium源码拉取
- 1)获取主干代码
进入到要保存Chromium源码的路径目录下,右键点击 git bash,输入命令:
fetch --nohooks chromium --nosvn=true 开始获取主干代码
因为Chromium源码很大,大概有15G左右,因此这个过程会比较慢,可能需要十几个小时,耐心等待。大家也可以把这
一步放在晚上睡觉时进行。(这一步需要看运气,运气好的话网络稳定一路顺畅,不好的话网络不稳定导致中断,从头来
过,这一步好像不支持断点续传【难受】)
- 2)获取分支代码
成功获取主干代码后,还是在原来的命令窗口,输入命令:gclient async 来获取分支代码
由于Chromium源码更新很频繁,可以输入命令:gclient sync --force --nohooks 来同步更新
二、Chromium源码的编译
1、安装 Visual Studio 2019 Community版 (我自己用这个版本)
- 1)如图所示,需要安装这几个模块,勾选 Windows 10 SDK(10.0.19041.0),然后我的安装位置放在了
H:\Program Files (x86)\Microsoft Visual Studio\2019\Community
(后面的环境变量中需要针对这个来设置一下,若是默认的安装路径就不需要)
- 2)为SDK安装调试工具
值得注意的是,我们安装的SDK默认是没有安装调试工具的,所以我们还需要通过以下步骤来安装它:
打开控制面板 –> 程序 –> 程序和功能 –> 找到并选择您安装好的SDK开发工具包 –> 更改 –> 选择change点击下一步
–> 勾选 Debugging Tools For Windows –> 点击Change;等待安装完毕后关闭即可
如图,18和19的都安装一下比较好(我自己的两个都安装了)
2、编译前的一些系统环境变量设置 【很重要,踩了很多坑】
变量名 | DEPOT_TOOLS_WIN_TOOLCHAIN | GYP_GENERATORS | GYP_MSVS_OVERRIDE_PATH | GYP_MSVS_VERSION |
vs2019_install (若是2017的就写vs2017_install) |
WINDOWSSDKDIR |
值 | 0 | msvs-ninja,ninja | H:\Program Files (x86)\Microsoft Visual Studio\2019\Community | 2019 | H:\Program Files (x86)\Microsoft Visual Studio\2019\Community |
H:\Windows Kits\10 |
3、开始编译Chromium源码
- 1)进入到Chromium源码项目的src目录下,右键点击 git bash。输入命令: gn gen --ide=vs out\\Default
- 2)编译生成可执行文件,有两种方式:
- 利用 ninja:输入命令: ninja -C out/Default chrome
- 在 vs2019里面打开 all.sln,点击生成开始编译
用时会比较久,可能要10个小时,耐心等待
4、编译完成后,双击 chrome.exe执行文件即可。就可以进行后续的Chromium研究调试啦,争取进一步学习,看能不能在其基础开发出一款属于自己的浏览器!