1. 引言
在完成所有必要工具的安装和配置之后,我们来到了整个 CEF 编译流程中至关重要的环节:获取 CEF 源代码。CEF 源码的获取过程需要我们特别关注同步策略和版本管理,以确保获取的代码版本正确且完整。本篇将详细指导你在 Linux 系统上获取并准备 CEF 6834 分支(对应 Chromium 132 版本)的源代码,包括创建工作目录、下载初始代码以及同步依赖项等关键步骤。
2. 构建 CEF 的基地:工作目录准备
2.1 创建目录结构
首先,我们需要创建一个用于存放 CEF 源代码、构建文件以及相关工具的目录结构:
mkdir ~/cef132
mkdir ~/cef132/automate
mkdir ~/cef132/chromium_git
2.2 安装基础软件包
在进行源码下载之前,我们需要安装一些必要的系统软件包:
sudo apt-get install curl file lsb-release procps python3 python3-pip
3. 配置 CEF 的编译环境
3.1 安装 Chromium 构建依赖
下载并运行 Chromium 提供的构建依赖安装脚本,以安装编译 CEF 所需的各种依赖库和工具:
# 切换到 ~/cef132 目录
cd ~/cef132
# 下载 Chromium 的构建依赖安装脚本
# 使用 curl 获取 base64 编码的脚本内容
# 通过 base64 解码,并保存为 install-build-deps.py 文件
curl 'https://chromium.googlesource.com/chromium/src/+/main/build/install-build-deps.py?format=TEXT' | base64 -d > install-build-deps.py
# 使用 sudo 权限运行 Python 脚本
# 添加了几个特定的选项:
# --no-arm: 不安装 ARM 相关的依赖
# --no-chromeos-fonts: 不安装 ChromeOS 字体
# --no-nacl: 不安装 Native Client (NaCl) 依赖
sudo python3 ./install-build-deps.py --no-arm --no-chromeos-fonts --no-nacl
3.2 设置环境变量
为了构建 CEF 6834 分支,我们需要设置一些关键的环境变量:
# 设置构建参数
export GN_DEFINES="is_official_build=true use_sysroot=true symbol_level=1 is_cfi=false proprietary_codecs=true ffmpeg_branding=Chrome"
export CEF_ARCHIVE_FORMAT=tar.bz2
请注意: 这里添加了proprietary_codecs=true ffmpeg_branding=Chrome
两个参数,用于支持 H264 等商业版编码器的使用
4. 获取 CEF 源代码:编译的基石
4.1 下载自动化构建脚本
获取 CEF 项目提供的自动化构建脚本 automate-git.py
:
cd ~/cef132/automate
wget https://bitbucket.org/chromiumembedded/cef/raw/master/tools/automate/automate-git.py
4.2 创建源码更新脚本
创建一个名为 update.sh
的脚本,用于执行 CEF 源码的下载和更新操作:
cd ~/cef132/chromium_git
cat > update.sh << 'EOL'
#!/bin/bash
python3 ../automate/automate-git.py \
--download-dir=/home/$USER/cef132/chromium_git \
--depot-tools-dir=/home/$USER/depot_tools \
--branch=6834 \
--no-build \
--no-distrib
EOL
chmod 755 update.sh
重要提示: 这里的 branch=6834
指定了我们要获取的 CEF 分支,它对应于 CEF 132 版本。这是版本对应的关键,务必确保正确。
4.3 执行源码同步
现在,我们可以运行 update.sh
脚本来下载 CEF 6834 分支的源代码了:
cd ~/cef132/chromium_git
./update.sh
特别提醒:
- 源码下载过程可能需要数小时,具体时间取决于你的网络状况。
- 请确保你的硬盘有足够的可用空间(建议至少 200GB)。
- 在下载过程中,请保持网络连接稳定。
- CEF 源代码将被下载到
~/cef132/chromium_git/cef
目录。 - Chromium 源代码将被下载到
~/cef132/chromium_git/chromium/src
目录。
5. 结语
通过本篇的操作指导,我们已经成功完成了 CEF 6834 分支源代码的获取和准备工作。这个过程虽然看起来步骤繁多,但每一步都至关重要。正确的配置和足够的耐心是成功的关键。确保所有步骤都准确执行,这将为后续的编译工作奠定坚实的基础。
在下一篇《CEF132 编译指南 Linux 篇 - 系统依赖配置:为编译保驾护航(六)》中,我们将继续介绍如何配置系统依赖,为最终的编译工作做好最后的准备。让我们继续这段循序渐进的 CEF 编译之旅!