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_gitcat <<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 空間問題
如果磁盤空間不足:
- 清理其他不必要的文件
- 使用外部存儲設備
- 確保至少有 150GB 可用空間
6.3 權限問題
# 修復權限問題
sudo chown -R $(whoami) ~/code/chromium_git
chmod -R u+w ~/code/chromium_git
7. 結語
通過本文的操作,我們已經完成了 CEF 源碼的獲取和準備工作。這個過程雖然看起來簡單,但是正確的配置和足夠的耐心是成功的關鍵。確保所有步驟都準確執行,這將為后續的編譯工作打下堅實的基礎。
在下一篇文章《CEF127 編譯指南 MacOS 篇 - 配置編譯環境(六)》中,我們將繼續介紹如何配置編譯環境,包括設置特定的 SDK 版本和編譯參數等內容。讓我們繼續這個循序漸進的 CEF 編譯之旅。