当前位置: 首页 > ops >正文

谷歌浏览器编译windows版本

📝 系统要求

  • 具有至少 8GB 内存,强烈建议超过 16GB。
  • 硬盘至少有 100GB 的可用空间,且为 NTFS 格式。
  • 适当版本的 Visual Studio,后面会讲。
  • 系统为 Windows 10 或更高版本。

📝 下载资源

1、下载 Visual Studio 2022

这里需要注意,最好是用2022的版本,越高的谷歌版本就要对应越高的visual Studio,我目前编译的是最新的133版本。所以我下载的是2022版本的。

在这里插入图片描述

然后需要用这个来下载这几个C++桌面开发,勾选上,然后旁边这个也需要一并勾选。这里注意这几个一定是需要勾选的,其他可以默认。

在这里插入图片描述

2、别名关闭掉

需要关闭 win10 系统中的 python 别名(开始菜单→设置→应用→应用执行别名)

在这里插入图片描述

3、下载Windows 10 SDK

下载windows的SDK这也是需要固定某一个版本不能轻易变更,需要注意哪一个版本最好去chromium官方文档看一下。上会有注明是哪一个,要一致。

chromium官方文档:https://www.chromium.org/

找到自己对应的版本,然后就是按照对应的SDK安装程序,然后傻瓜式安装就好了。

在这里插入图片描述

安装完之后,我们需要再路径下确定是否有这些文件。

在这里插入图片描述

在这里可以看到对应的版本号。

在这里插入图片描述

4、下载depot_tools工具

因为下载需要国外网络,所以要先设置好,让cmd可以连接国外网络,这里我通过命令配置好。

在这里插入图片描述

然后git拉取代码下来。

git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git

注意这个文件很重要,很多构建和自动检测都是由他实现的。

5、下载chromium源码

在这里插入图片描述

把当前路径设置到环境变量,我这里怕影响到我其他环境,我就只设置当前有效而已。

set PATH=F:\chromiumPWD\depot_tools;%PATH% # 把这个工具设置到环境变量去。
set DEPOT_TOOLS_WIN_TOOLCHAIN=0 # 这里是设置他不要自动下载其他东西,以防后续下载一下不必要的东西。
fetch.bat --nohooks --no-history chromium # 这里加的参数只是为了不要把历史版本拉下来,只拉最近的即可。

6、同步配置

gclient.bat runhooks # 同步一下最新配置

在这里插入图片描述

📝 编译遇到问题

1、编译过程遇到一个异常

在这里插入图片描述

这里你可以一个文件一个文件去修改,也可以用环境变量的方式去实现,我这里就直接使用环境让他默认utf-8

set PYTHONUTF8=1

2、编译错误内存太小

如果在编译的过程中出现错误,类似kill这种字眼,一般情况下就是你内存太小导致的,你可以降低编译速度从而适配你的电脑,命令如下:

autoninja -C out\ChromeDebug -j 30 chrome # 30这个数字进行修改即可或者直接默认

3、其他错误

一般情况下按照这个流程走完就可以编译出来了,如果还有错误,就要自己具体分析了,因为每一个人的电脑都不一样。

📝 编译完成

这里我没有填写google的API所有会提示这个,这样我们就可以打开正常的谷歌浏览器了,也就算编译成功了耗时一天10个小时,这个电脑配置有点拉胯有点久,正常来说半天就够了。

在这里插入图片描述

🤗 总结归纳

这篇文章主要是讲解如何实现chrome的编译,后续将陆续出如何修改源代码过检测,打造一个专属于自己的指纹浏览器。

更多精彩文章和成品代码请移步这里提取。

在这里插入图片描述

http://www.xdnf.cn/news/14389.html

相关文章:

  • Vue3相关知识1
  • STM32 HAL库学习 RNG篇
  • 编译链接实战(32)动态库的本质和原理
  • 循环神经网络及其变体
  • 数据库核心技术深度剖析:事务、索引、锁与SQL优化实战指南(第六节)-----InnoDB引擎
  • 软件设计模式入门
  • 力扣Hot100每日N题(17~18)
  • Vue学习001-创建 Vue 应用
  • anaconda安装教程
  • 板凳-------Mysql cookbook学习 (十--7)
  • 使用pinia代替vuex处理登录流程
  • 什么是扩展运算符?有什么使用场景?
  • 强化学习怎么入门?
  • Vue3 跨多个组件方法调用:简洁实用的解决方案
  • 人工智能基础知识笔记十:降维技术
  • cache的学习
  • 扣子开发平台 Agent 开发教程(一)
  • Adoquery 转AdoDataSet
  • LeetCode 1385.两个数组间的距离值
  • Kafka 可靠性保障:消息确认与事务机制(一)
  • vue3 +spring boot文件上传
  • 【Go语言-Day 1】扬帆起航:从零到一,精通 Go 语言环境搭建与首个程序
  • 操作系统核心名词解释--期末简答题快速复习
  • cuda编程笔记(2.5)--简易的应用代码
  • 利用 Python 爬虫获取 Amazon 商品详情:实战指南
  • HarmonyOS 探秘手记:我在 “鸿蒙星球” 的第一天
  • linux 常用工具的静态编译之二
  • 数字孪生赋能智慧城市大脑建设方案PPT(65页)
  • vscode通过ssh连接
  • 理解ES6中的Promise