CEF127 编译指南 MacOS 篇 - 拉取 CEF 源码(五)

1. 引言

在完成了所有必要工具的安装和配置后,我们进入到获取 CEF 源码的阶段。对于 macOS 平台,CEF 的源码获取过程需要特别注意不同芯片架构(Intel 和 Apple Silicon)的区别以及版本管理。本文将详细介绍如何在 macOS 系统上获取并准备 CEF 源码,包括创建工作目录、下载初始代码以及同步依赖项等步骤。

2. 工作目录准备

2.1 创建目录结构

复制代码
# 创建主要工作目录
mkdir -p ~/code/chromium_git
mkdir -p ~/code/automate

# 进入工作目录
cd ~/code

2.2 目录结构说明

  • ~/code/chromium_git:存放 Chromium 和 CEF 源码
  • ~/code/automate:存放自动化脚本
  • ~/code/depot_tools:工具集目录(之前已创建)

3. 下载自动化脚本

3.1 获取脚本

复制代码
cd ~/code/automate
curl -o automate-git.py https://bitbucket.org/chromiumembedded/cef/raw/master/tools/automate/automate-git.py

3.2 创建更新脚本

~/code/chromium_git 目录中创建 update.sh

复制代码
cd ~/code/chromium_git

cat <<EOL > update.sh
#!/bin/bash
# 为 Intel Mac
python3 ../automate/automate-git.py \\
  --download-dir=/Users/\$USER/code/chromium_git \\
  --depot-tools-dir=/Users/\$USER/code/depot_tools \\
  --no-distrib \\
  --no-build \\
  --branch=6533 \\
  --x64-build

# 为 Apple Silicon Mac,替换最后一行为:
# --arm64-build
EOL

3.3 设置脚本权限

复制代码
chmod 755 update.sh

4. 拉取源码

4.1 配置环境变量

复制代码
# 设置基本环境变量
export CEF_USE_GN=1
export GN_DEFINES="is_official_build=true use_sysroot=true symbol_level=1"
export CEF_ARCHIVE_FORMAT=tar.bz2

# 对于 Apple Silicon Mac 额外添加
# export GN_DEFINES="is_component_build=true"

4.2 执行更新脚本

复制代码
cd ~/code/chromium_git
./update.sh

📢 重要提示:

  • 源码下载过程可能需要几个小时
  • 确保有稳定的网络连接
  • 需要大约 150GB 的磁盘空间
  • 下载过程中可能出现断点续传

5. 源码管理

5.1 验证源码结构

复制代码
# 检查目录结构
ls -la ~/code/chromium_git/chromium/src
ls -la ~/code/chromium_git/cef

5.2 目录说明

  • chromium/src:Chromium 源码
  • cef:CEF 源码
  • chromium/src/cef:CEF 构建目录

6. 常见问题处理

6.1 网络问题

复制代码
# 设置 git 代理
git config --global http.proxy http://proxy.example.com:8080

# 断点续传
# 重新运行 update.sh 脚本,会从断点继续

6.2 空间问题

如果磁盘空间不足:

  1. 清理其他不必要的文件
  2. 使用外部存储设备
  3. 确保至少有 150GB 可用空间

6.3 权限问题

复制代码
# 修复权限问题
sudo chown -R $(whoami) ~/code/chromium_git
chmod -R u+w ~/code/chromium_git

7. 结语

通过本文的操作,我们已经完成了 CEF 源码的获取和准备工作。这个过程虽然看起来简单,但是正确的配置和足够的耐心是成功的关键。确保所有步骤都准确执行,这将为后续的编译工作打下坚实的基础。

在下一篇文章《CEF127 编译指南 MacOS 篇 - 配置编译环境(六)》中,我们将继续介绍如何配置编译环境,包括设置特定的 SDK 版本和编译参数等内容。让我们继续这个循序渐进的 CEF 编译之旅。

相关推荐
mywpython18 小时前
mac 最新的chrome版本配置selenium的方式
chrome·python·selenium·macos
獨枭1 天前
Linux 下安装和使用 Jupyter Notebook
linux·chrome·jupyter
森叶2 天前
利用 Chrome devTools Source Override 实现JS逆向破解案例
前端·javascript·chrome devtools
守城小轩2 天前
突破反爬困境:SDK开发,浏览器模块(七)
网络爬虫·指纹浏览器·浏览器开发·浏览器爬虫
日升2 天前
Chrome 134 版本开发者工具(DevTools)更新内容
前端·chrome·浏览器
我要升天!3 天前
Linux中《环境变量》详细介绍
linux·运维·chrome
muzidigbig5 天前
Chrome(Google) 浏览器安装Vue2、Vue3 Devtools插件方法
chrome·vue.js devtools·google vue插件方法
pitt19976 天前
Chrome 开发环境快速屏蔽 CORS 跨域限制!
chrome·跨域·cors·解决跨越技巧
skywalk81636 天前
自动化浏览器的测试框架playwright 支持多种浏览器Chromium、Firefox 和 WebKit
前端·chrome·自动化·测试·playwright
亿牛云爬虫专家7 天前
Headless Chrome 优化:减少内存占用与提速技巧
前端·chrome·内存·爬虫代理·代理ip·headless·大规模数据采集