侧边栏壁纸
博主头像
秋码记录

一个游离于山间之上的Java爱好者 | A Java lover living in the mountains

  • 累计撰写 137 篇文章
  • 累计创建 297 个标签
  • 累计创建 45 个分类

在 Windows8.1 下编译 Chromium (103.0.5060.68 之三)

说在前面的话

或许你在看到文章标题中的windows8.1,难免会让你望而却步

谁说不是呢!毕竟按chromium官方文档要求,win8.1是达不到编译 chromium高版本的要求的。

但不管怎么样,我的win8.1电脑最终还是编译出了chromium,足以说明win8.1系统编译chromium是可行的。

虽然在编译期间,占有了电脑大量使用时间,好在我都是在白天出门前,电脑开着让它静静build

让我庆幸的是,在那漫长的编译过程中,竟没有因errorhuofailed而中断,就连warning也是瞧不见身影。

编译途中出现error或failed总是再所难免`的,但却平添了我们去解决该问题的时间。

下载 chromium 源码

Chromium官方文档来看,是需要至少100G空闲磁盘,为此,我查看电脑里的几个盘,最终还是选择了C盘,清理了很大一部分空间出来,也就是你现在看到的下图这般。

image-20240917114331837

新建一个名为chromium的文件夹,名字你可以随意起,这个倒无所谓的!

image-20240917114514475

chromium 官方文档是通过fetch chromium来下载代码,但是这种下载是chromium最新代码,还包括历史log,虽然可以带上--no-history参数,它终究还是拉取最新代码。

在当前文件夹内,空白地方鼠标右键,再弹出的选项列表里,选择Git Bash here,再弹出的对话框中输入以下命令。

  • 第一种方案:
git clone --depth 100 -b 103.0.5060.68 https://chromium.googlesource.com/chromium/src.git src

直接从chromium 官网拉取源码,下载的速度取决于你的网络

  • 第二种方案(我采取这种方案,为的是节省网络流量):
git clone --depth 100 -b 103.0.5060.68 https://gitee.com/mirrors/chromium.git src

# 还原git仓库地址
cd src
git remote set-url origin https://chromium.googlesource.com/chromium/src.git
cd ..

参数说明:

  • --depth 100 意思是拉取深度为100,这将会拉取一些 log,因为编译脚本会基于仓库的 log 反查版本发布时间。如果这个值太小,可能会查不到,因而报错。所以,建议设为 100 或更大些。或者,直接去掉这个参数,但这样将拉取全部的 log,特别慢。
  • -b 103.0.5060.68 指定拉取的 tag 版本。

不管你采取了那种方案,在gitcmd总是要设置好网络,至于怎么设置网络,可以查看秋码记录,这里将不再赘述,毕竟后面同步第三方依赖,是必须要用到网络的!

若你的电脑安装过了git工具,可以在Git Bash,输入上述任何一种方案。

![image-20240917124924443]((https://qiucodeimg.oss-rg-china-mainland.aliyuncs.com/golang-test/image-20240917124924443.png)

假使你电脑没安装过git,那么直接在cmd中,输入上述任何一种方案。

image-20240918232342575

生成 .gclient 文件

其实,这一步骤在Chromium文档里是没有的,之所以需要手动来生成.gclient这个文件,那是由于我们在拉取chromium代码时,是指定了版本号,拉取时不会自动生成这个文件。

Chromium文档上使用fetch chromium命令来拉取代码后,会在当前文件夹自动生成一个src文件夹和.gclient文件,虽然可以加上--no-history参数来排除历史记录,但它拉取的总是最新的chromium代码,或许不支持你当前的系统,故而我选择了一个特定版本。

gclient config --unmanaged https://chromium.googlesource.com/chromium/src.git

执行完上述命令后,在于src文件夹同级下,自动生成了一个.gclient文件。

image-20240917155816414

image-20240917155634276

同步第三方依赖

若你的网络还算可以的话,按照chromium 文档的拉取方案,且拉取过程中没有中断过,是不需要这一步的。

而你若采取的跟我一样的方案,那么这一步骤是必不可少的,这也就是我为什么说,你最终还是要设置好网络原因所在了。

gclient sync

执行指令后,要下载几个 G 的依赖包,比较慢,窗口也会输出 Still working on的提示,防止假死被误关:

image-20240917162353954

这当中可能需要耗费几个小时,它的快慢取决于你的网速快慢。

当然咯,gclient sync过程中出现了很多errorfailed,我将另外撰写一篇关于在windows下编译chromium出现的问题汇总,这里将不再叙述。

你把errorfailed给解决了,依旧在cmd执行gclent sync命令继续下去。

gclient sync执行期间,你可以出门去逛逛商场、爬爬山、或去电影院看场电影。

等你回来是,看到跟下图一样的话,那么说明gclient sync命令执行成功了。

image-20240921172936811

编译调试版浏览器

首先cd src目录进行编译。

cd src

# 生成方案
gn gen out\Default

# 编译
autoninja -C out\Default chrome

autoninja_cpu_used

指令 gn gen out\Default 生成的方案默认是编译为调试版的浏览器。

编译过程很久,根据机器性能决定,持续几个小时是正常的。如果意外中断,可再次执行 autoninja -C out\Default chrome 继续编译。

image-20240927104800553

编译是成功了,可是无法打开它,或许是我电脑系统的问题,然而我转念一想,不对啊!我电脑都能正常运行chrome 109,不至于无法打开chromium 103版本吧!还是接着编译正式版

安装 depot_tools 和 Windows 10 SDK 为在Windows下构建基于 chromium 的浏览器(103.0.5060.68 之二)
« 上一篇 2024-09-22
一套由 Hugo 驱动的博客主题 hugo-theme-kiwi 开源啦
下一篇 » 2023-12-24

相关推荐

  • 安装 depot_tools 和 Windows 10 SDK 为在Windows下构建基于 chromium 的浏览器(103.0.5060.68 之二) 2024-09-22 15:26:43 +0800 +0800
    安装 depot_tools 和 Windows 10 SDK 为在Windows下构建基于 chromium 的浏览器(103.0.5060.68 之二) 为何要安装depot_tools 虽然我们在上一篇 Windows构建基于 Chromium 的浏览器之环境准备篇安装 Visual Studio(103.0.5060.68 之一) ,已经在Windows系统安装好了Visual Studio 2019 Community版本。 然而chromium源码工程之庞大,并不是我们平时坐在写字楼里,捣鼓了几个月,勉强符合上级领导的要求而上线的项目,这也就为什么chromium 官方文档里要求你在build里,需要有100G的空闲磁盘的缘故了。 那么,如此巨大的项目,以及如何很好来管理chromium依赖的第三方library呢? 我想这时,肯定会脱口而出,“使用git来管理项目,并且还能有效地处理好第三方library。” 的确,chromium官方就是采用了git来管理这么庞大的项目。 但chromium 源码所依赖的第三方library可不是一两个而已,我们从图中也是可以看出,chromium依赖的第三方library可不是一般的多啊!那是非常的多啊! 我借助了visual studio code这款IDE,在Terminal中输入以下命令,可以计算出当前路径下拥有多少个子文件夹(直到第一级,不会去递归计算哦!) (Get-ChildItem -Directory | Measure-Object).Count 注意:这行命令只在`PowerShell`中生效,这也就为什么我会借助`visual studio code`这款`IDE`的缘故。 或许你有点纳闷,这visual studio code是不是我们在上一篇安装的visual studio呢? 初次捣鼓的你,难免会被这两者给弄混淆了。 这其实也不能全怪你啦!毕竟visual studio系列与visual studio code的应用程序图标是一样,只是颜色差异而已罢了,且它们同是microsoft公司的产品。 对于chromium依赖了这么多第三方library,你总不可能对每个library手动写git submodule吧! 而此时的你可能会想到可以借助python来编写脚本,用来synchronized(同步)chromium第三方library。 为此,chromium 官方提供了一个用于synchronized第三方library的工具,它不仅能synchronized thried_party,而且还能build chromium,那么,它是谁呢? 它就是本文的主角——depot_tools.depot(是仓库的意思)。 安装depot_tools 要想安装depot_tools工具,那么毫无疑问的是从chromium官网上下载depot_tools工具。 下载地址 https://storage.googleapis.com/chrome-infra/depot_tools.zip,将其解压至 任意不包含中文或空格的目录里。 注意:不要使用鼠标拖拽或复制粘贴,否则其中 .git 目录可能不会正常复制过来,请使用 zip 压缩包管理工具直接解压到目标目录。 当我们解压下载下来的depot_tools压缩包后,需要在系统环境变量中添加depot_tools的路径。 注意:如果你的电脑安装了`python`和`git`,请将`depot_tools`路径添加在它们之前,因为`depot_tools`工具里内置了`python`和`git`。 随后,我们需要再设置一个DEPOT_TOOLS_WIN_TOOLCHAIN的变量名,其变量值为0。作用是让 depot_tools 使用本地安装的 Visual Studio 版本(默认情况下,depot_tools 将尝试使用 google 内部版本): 然后cmd一个命令窗口,先是设置网络。 注意:该设置网络只会在当前窗口有效,也就说你每新打开一个新窗口,都需要设置网络`。 # windows set http_proxy=127.
       chromium  
  • Windows构建基于 Chromium 的浏览器之环境准备篇安装 Visual Studio(103.0.5060.68 之一) 2024-09-21 13:26:43 +0800 +0800
    Windows构建基于 Chromium 的浏览器之环境准备篇安装 Visual Studio(103.0.5060.68 之一) 引言 在信息快速发展的当今,人们似乎对电子设备依赖层度越来越深了,尤其是智能手机的普及,逐渐改变了人们在网上冲浪的方式,除非了是需要在电脑上处理的事情,才会去打开那落满灰尘的电脑。 手机本就是为了能与方便交流沟通而诞生的,虽然现如今,在手机前加了智能两字,并不是说这手机能有多智能,它无非是能像电脑一样,能浏览各大网站,玩游戏,看视频,网上购物等等。 甭管是在电脑上,抑或是在智能手机里,我们想要搜查资料,第一得先打开浏览器应用程序,一般浏览器都默认为用户选定了一个搜索引擎,第二,我们在搜索引擎的输入框打上要查找资料的相关信息,等输入好了,等它个几百毫秒之后,你会看到,搜索引擎为你罗列出了与你在输入框填写文字相关的内容。第三,点击列表中你看似符合你要求的结果。 说起浏览器,可谓是五花八门,王婆卖瓜,自卖自夸。如果你不是一个IT人士,那么你的电脑装上了国内的360浏览器、2345浏览器、hao123浏览器、qq浏览器……(毕竟你作为一个非互联网人,不知道国内的这些流氓软件还可原谅,这其中尤以360浏览器最为离谱,了解过360杀毒的,都知道它自己本身就一个病毒)。 可假使你是一位互联网从业人员,却在电脑里安装了360极速浏览器的话,那么只能说明你是……(自行脑补吧!) 市场份额排在第一的Chrome(身为一个IT人员,对它应该不陌生吧!它可是google公司的开发的浏览器,而且还是基于google开源的chromium V8),你却不用,非要使用国内的360浏览器,可当你电脑安装了360浏览器之后,时不时的会在电脑右下角弹出广告(也就是显示日期和时间的那个角落里弹出一个广告,这是不是很恶心,这就是这些国内浏览器的套路和玩法!) 除了Chrome,你也可以选择其他的浏览器,诸如:Mozilla出品的firefox(火狐),它也是基于Mozilla公司开源的浏览器,microsoft公司的Edge(Edge也是基于chromium开源项目的浏览器)、Apple公司的Safari浏览器,opera浏览器也是基于chromium的,…… 序言 我想要构建一个基于Chromium内核的浏览器由来已久,可为什么直到现如今才着手开始搭建呢? 拖大抵是人类的通病吧,但最主要的莫过于把空闲时间用在了旅游(无非是逛逛商场,虽然鲜少在商场内购物,但我还是比较逛的)、爬爬山去暂时的放空心灵,暂避那喧嚣的都市。 逛商场,目之所及皆是人来人往,有人手里拎着好多东西,与同伴有说有笑着,从我身旁路过;而有些人则是将商场几个层楼,都绕了一圈下来,也没见他进哪家店里买东西,我就是属于这类人,纯粹是来这里感受下商场里人流量的震撼。 信步登山,不单单只是放空自己,远离那喧嚣的都市;而是在贴近大自然,你可以把生活或工作的烦闷给释放出来,甚至你大可吼一声。 不管是购物时的满心欢悦,抑或是爬上山巅坐在石凳,惬意的度过一个下午,但你终究还是要回到现实生活中来,闲暇的时光总是那么短暂的。 那么现在怎么就能把闲暇时间用起来呢?难道不去逛商场了吗?亦不去登山了? 也全是,商场该逛还是会去逛的,山也会去爬,偶尔也会在山巅吼上那么一嗓子的,但是现在,也该做些自己曾说过要做的事情了。 必备准备 在编译chromium源码之前,我们有必要为电脑配置好所需的environment(环境)。 作为一名coder(程序员或码农),深知开发一套软件或是编译知名的开源项目时,系统里总是免不了配置好符合当前开发软件或编译开源软件的必要environment(环境),这就好比,想要开发C/C++软件,那么你的电脑是少不了安装GCC/g++decompiler(编译器),其次你还需有一个对C/C++语法支持且纠错的IDE。 要说哪款IDE广受C/C++程序员的热捧,那么microsoft公司出品的Visual Studio无疑是登上C/C++ IDE宝座的王者,想必是无人敢反驳吧! 还有一个必要的条件,那就是你的电脑能正常访问以下网站(至于怎么可以正常访问呢?却不在本文范畴内,我想你总能找得到)。 1、Chromium官网:https://www.chromium.org/ 2、Chromium git 仓库:https://chromium.googlesource.com/chromium/src.git 3、Chromium 版本分支说明:https://chromiumdash.appspot.com/branches 从chromium 官网文档中可以看出,你的电脑还必须具备以下条件: 1、64 位 Intel电脑,至少 8GB 内存。 强烈建议超过 16GB。 2、NTFS 格式硬盘至少有 100GB 可用磁盘空间。 FAT32 将无法使用,因为某些 Git 包文件大于 4GB。 3、安装相应版本的Visual Studio。 4、Windows 10 或更新版本。 然而我的电脑除了不是Intel外,系统还达不到要求,还是贫民级别的Win8.1。 为此我还特意把电脑磁盘空间清理了下,看看最后哪个盘符下最接近100G的可用空间。 安装Visual Studio 2019 Community 对于Windows系统想要build(构建)chromium,安装Visual Studio版本是有要求的: Chromium 需要 Visual Studio 2017 (>=15.7.2) 来构建,但首选 Visual Studio 2019 (>=16.
       chromium