新手菜鸟摸索——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

新手菜鸟摸索——Chromium源码的获取和基于VS2019的编译

  • 2)配置系统环境变量

             把depot-tools的路径添加进系统变量的 Path中。【注意:depot-tools的路径一定要放在python的路径之前】

 

3、做好前期准备后,开始进行Chromium源码拉取

  • 1)获取主干代码

             进入到要保存Chromium源码的路径目录下,右键点击 git bash,输入命令:

            fetch --nohooks chromium --nosvn=true  开始获取主干代码

            因为Chromium源码很大,大概有15G左右,因此这个过程会比较慢,可能需要十几个小时,耐心等待。大家也可以把这 

            一步放在晚上睡觉时进行。(这一步需要看运气,运气好的话网络稳定一路顺畅,不好的话网络不稳定导致中断,从头来

            过,这一步好像不支持断点续传【难受】)

新手菜鸟摸索——Chromium源码的获取和基于VS2019的编译

  • 2)获取分支代码

            成功获取主干代码后,还是在原来的命令窗口,输入命令:gclient async 来获取分支代码

新手菜鸟摸索——Chromium源码的获取和基于VS2019的编译

            由于Chromium源码更新很频繁,可以输入命令:gclient sync --force --nohooks 来同步更新

新手菜鸟摸索——Chromium源码的获取和基于VS2019的编译


 

二、Chromium源码的编译

 

1、安装 Visual Studio 2019 Community版 (我自己用这个版本)

  • 1)如图所示,需要安装这几个模块,勾选 Windows 10 SDK(10.0.19041.0),然后我的安装位置放在了

             H:\Program Files (x86)\Microsoft Visual Studio\2019\Community

          (后面的环境变量中需要针对这个来设置一下,若是默认的安装路径就不需要)

新手菜鸟摸索——Chromium源码的获取和基于VS2019的编译

  • 2)为SDK安装调试工具

            值得注意的是,我们安装的SDK默认是没有安装调试工具的,所以我们还需要通过以下步骤来安装它:

            打开控制面板 –> 程序 –> 程序和功能 –> 找到并选择您安装好的SDK开发工具包 –> 更改 –> 选择change点击下一步

            –> 勾选 Debugging Tools For Windows –> 点击Change;等待安装完毕后关闭即可

           如图,18和19的都安装一下比较好(我自己的两个都安装了)

新手菜鸟摸索——Chromium源码的获取和基于VS2019的编译

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

新手菜鸟摸索——Chromium源码的获取和基于VS2019的编译

  • 2)编译生成可执行文件,有两种方式:
  • 利用 ninja:输入命令: ninja -C out/Default chrome
  • 在 vs2019里面打开 all.sln,点击生成开始编译

            用时会比较久,可能要10个小时,耐心等待

4、编译完成后,双击 chrome.exe执行文件即可。就可以进行后续的Chromium研究调试啦,争取进一步学习,看能不能在其基础开发出一款属于自己的浏览器!