Chromium 开发指南2024 Mac篇-编译前的准备工作(一)

1.引言

Chromium 是一款开源的网页浏览器项目,作为 Google Chrome 浏览器的基础,其卓越的性能和广泛的应用使其成为众多开发者研究和学习的对象。对于希望深入了解浏览器内核,或是计划在 Chromium 基础上开发自定义浏览器的开发者来说,掌握 Chromium 的编译和开发流程是至关重要的一步。

本指南旨在为 Mac 用户提供一个详细的 Chromium 编译教程。通过本指南,您将学会如何在 macOS 环境下准备开发工具、配置依赖项,并顺利获取和编译 Chromium 源代码。无论您是初次接触 Chromium 开发的新手,还是有一定经验的开发者,本指南都将帮助您顺利踏上 Chromium 开发之旅。

2.环境硬件要求

📢因为本系列文章编译的Chromium 版本为 124 ,所以需要macOS 14 或更高系统版本

因为本系列文章编译的Chromium 版本为 124 ,所以需要macOS 14 或更高系统版本

  • 操作系统:macOS 13.5(Ventura) 或更高
  • 处理器:Intel/Apple M1 或更高
  • 内存:建议 8GB 或更高
  • 磁盘空间:至少 160GB 的可用空间
  • Xcode:Xcode 15.0.x 或更高

3.为什么编译不同版本chromium需的mac系统版本和xcode版本不一样

这是因为Chromium项目依赖于macOS和Xcode提供的一些特定功能、库和工具链,而这些功能、库和工具链会随着系统和开发工具的更新而变化。具体原因包括:

操作系统和Xcode的兼容性:不同版本的Xcode只能在特定版本的macOS上运行。如果Chromium项目使用了新版本的Xcode中的特性或工具,那么就需要相应的macOS版本来支持。

系统库和API的变化:macOS的更新可能引入新的系统库和API,或者对现有的库和API进行修改。Chromium项目可能依赖这些库和API,因此需要特定版本的macOS来确保兼容性和功能性。

工具链的变化:Xcode的更新可能会带来编译器、链接器和其他开发工具的更新。这些更新可能包含新的特性、优化和bug修复,Chromium项目可能需要这些更新来改善性能或解决问题。

安全性和稳定性:新版本的macOS和Xcode通常包含重要的安全更新和稳定性改进。为了确保开发环境的安全和稳定,Chromium项目可能会要求使用这些更新后的版本。

开发者要求:有时开发者可能会利用新版本的Xcode特有的开发工具或调试工具,这也要求使用相应版本的macOS。

所以由于以上原因,Chromium项目会对不同版本的编译环境提出特定要求,以确保代码能够正确编译和运行。

4.如何确认编译Chromium所需依赖和系统版本

上一节,我们了解为什么编译不同版本chromium需的mac系统版本和xcode版本不一样的原因,本节我们来了解下如何选择和确认编译Chromium所需依赖和系统版本

4.1 查询官方指南

👌在任何情况下,首先应该参考官方指南,这是最准确的答案

在任何情况下,首先应该参考官方指南,这是最准确的答案

访问官方指南:https://chromium.googlesource.com/chromium/src/+/main/docs/mac_build_instructions.md

通过阅读官方文档我么可知,打开对应版本Chromium项目中的build/config/mac/mac_sdk.gni这个文件查看mac_sdk_official_version这一项。

可知需要的MacOS Base sdk 14.0

然后访问Apple 官方文档:Xcode - Support - Apple Developer ,查询对应Xcode和MacOS版本。

得到我们需要安装 macOS Ventura 13.5和Xcode 15.0.x

4.2 查询CEF 文档

📌虽然官方文档很准确但是,您可以看出来... 很复杂,我个人更推荐CEF 文档,写的很清晰。

虽然官方文档很准确但是,您可以看出来... 很复杂,我个人更推荐CEF 文档,写的很清晰。

什么是CEF ? Chromium嵌入式框架(Chromium Embedded Framework)是一个开源的软件框架,用于在另一个应用程序中嵌入Chromium网络浏览器。是基于Chromium 二次开发的项目。

我们可以访问CEF wiki 得到编译帮助文档

chromiumembedded / cef / wiki / BranchesAndBuilding --- Bitbucket

通过查询文档我们可以快速的得到我们需要的MacOS 和Xcode版本

5.结语

通过本指南,您已经掌握了在 macOS 环境下编译 Chromium 所需的硬件要求和系统依赖,并了解了为什么不同版本的 Chromium 需要特定的 macOS 和 Xcode 版本。我们详细介绍了如何通过官方指南和 CEF 文档来确认编译 Chromium 所需的依赖项和系统版本,希望这些内容能帮助您顺利开始 Chromium 的编译与开发。

在接下来的文章《Chromium开发指南2024 Mac篇(二)-Xcode安装》中,我们将详细讲解如何在 macOS 上正确安装和配置 Xcode,这也是编译 Chromium 的关键步骤之一。通过这一系列指南,您将逐步掌握在 macOS 环境下开发和编译 Chromium 的全部流程。敬请期待!

这段时间一直在忙,没有及时更新,后台接到很多小伙伴的私信。有需要Android的,有需要MAC的,有需要指纹的一些逻辑的,还有需要CEF的。这些我都会一一完成,也感谢大家的鼓励和支持。有什么需求也可以在后台私信我,可能回复比较慢但我会尽力回复大家的。本身我也有个我的节奏。轻易不会断更,请大家放心食用。

相关推荐
我爱加班、、15 小时前
Chrome安装最新vue-devtool插件
javascript·vue.js·chrome·vue-devtool
T0uken1 天前
【Python】UV:单脚本依赖管理
chrome·python·uv
powerfulzyh3 天前
Docker中运行的Chrome崩溃问题解决
chrome·docker·容器
代码的乐趣4 天前
支持selenium的chrome driver更新到136.0.7103.92
chrome·python·selenium
努力学习的小廉4 天前
深入了解linux系统—— 自定义shell
linux·运维·chrome
fenglllle5 天前
macOS 15.4.1 Chrome不能访问本地网络
chrome·macos
yousuotu5 天前
python如何提取Chrome中的保存的网站登录用户名密码?
java·chrome·python
颜淡慕潇5 天前
【Python】超全常用 conda 命令整理
chrome·python·conda
网硕互联的小客服6 天前
如何解决 Linux 系统文件描述符耗尽的问题
linux·运维·chrome
海尔辛6 天前
学习黑客正经版Bash 脚本入门教程
chrome·学习·bash