下载并编译 Chromium

从零开始编译 Chromium 确实是一项挑战,但流程是清晰和成熟的。整个过程主要分为准备环境、获取代码、配置构建、开始编译四大步。请根据你的操作系统,遵循以下对应的指南。

📝 通用准备

在开始之前,请确保你的机器满足以下最低要求,这将直接影响编译的成败和时长:

  • 操作系统: 64位 Windows 10/11 或 64位 Linux (推荐 Ubuntu 22.04+) 。
  • 内存: 至少 8GB,强烈建议 16GB 或更多
  • 硬盘: 至少 100GB 可用空间,且必须是 NTFS (Windows) 格式,强烈推荐使用固态硬盘 (SSD) 。
  • 网络: 稳定且通畅的网络连接(可能需要代理访问 Google 源码仓库)。

🪟 方案一:Windows 环境编译指南

步骤 1: 安装必要工具

  1. 安装 Visual Studio 2022
    • 下载并安装 Visual Studio 2022 (Community版即可)。必须安装 “使用 C++ 的桌面开发” 工作负载,以及 “C++ ATL for v143 build tools”“C++ MFC for v143 build tools” 两个可选组件 。
  2. 安装 Windows 11 SDK
    • 在Visual Studio安装器中,确保选中了最新的 Windows 11 SDK (例如 10.0.22621.0 或更高版本)。同时需要安装其 “调试工具” (Debugging Tools) 。
  3. 配置环境变量
    • 新建一个系统/用户环境变量,名称为 DEPOT_TOOLS_WIN_TOOLCHAIN,值为 0。这告诉编译系统使用你本地的VS,而不是去下载Google内部的工具链 。
    • (可选)如果系统没有自动找到VS路径,可以再新建一个变量,名称为 vs2022_install,值为你的VS安装路径(例如 C:\Program Files\Microsoft Visual Studio\2022\Community)。

步骤 2: 获取 depot_tools 和源码

  1. 下载 depot_tools
    • C:\src 目录下打开命令提示符 (cmd),运行:
      bash git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
    • C:\src\depot_tools 添加到系统的 PATH 环境变量的最前面(确保它在任何Python或Git路径之前)。
    • 重启命令提示符,运行 gclient 命令完成工具集的初始化 。
  2. 下载 Chromium 源码
    • 创建一个存放代码的目录(路径不要有空格),例如 C:\src\chromium,并进入该目录:
      bash mkdir C:\src\chromium cd C:\src\chromium
    • 执行 fetch 命令下载代码(--no-history 可选,用于跳过Git历史记录以节省时间和空间):
      bash fetch --nohooks --no-history chromium
    • 这个过程可能耗时1-2小时或更长,取决于网络。完成后,目录下会生成一个 src 文件夹 。

步骤 3: 配置与编译

  1. 进入源码目录并运行钩子
    bash cd src gclient runhooks
  2. 生成构建文件 (GN)
    • 使用 gn 工具生成Ninja构建文件。这里我们创建一个用于调试的构建目录 out/Default
      bash gn gen out/Default
    • (可选)如果你想要更快的构建速度(例如发布版本),可以使用 gn args out/Release 来编辑构建参数,例如添加 is_debug=false is_official_build=true
  3. 开始编译
    • 使用 autoninja 命令(Ninja的包装器,能自动优化参数)开始编译 Chromium 主程序:
      bash autoninja -C out/Default chrome
    • 编译过程极其漫长,在性能较好的机器上也可能需要2-5小时。请耐心等待,期间可以喝杯咖啡休息一下 。

步骤 4: 运行你的 Chromium

  • 编译成功后,在 out/Default 文件夹中找到 chrome.exe,双击运行,或者通过命令行启动:
    bash out\Default\chrome.exe

🐧 方案二:Linux 环境编译指南 (以Ubuntu为例)

步骤 1: 安装基础依赖

打开终端,更新包管理器并安装基础工具 gitpython3

sudo apt update
sudo apt install git python3

步骤 2: 获取 depot_tools 和源码

  1. 下载 depot_tools
    • 在你的 home 目录下克隆 depot_tools 仓库:
      bash git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
    • 将 depot_tools 添加到 PATH 环境变量中。编辑 ~/.bashrc 文件,在末尾添加以下内容:
      bash export PATH="$HOME/depot_tools:$PATH"
    • 使配置生效:source ~/.bashrc
  2. 下载 Chromium 源码
    • 创建一个工作目录并进入:
      bash mkdir ~/chromium && cd ~/chromium
    • 使用 fetch 工具下载代码(同样建议加上 --no-history 加快速度):
      bash fetch --nohooks --no-history chromium
    • 等待下载完成,进入 src 目录:
      bash cd src

步骤 3: 安装构建依赖并配置

  1. 安装构建依赖
    • Chromium 源码中提供了一个脚本,可以自动安装所有必需的开发库和工具:
      bash ./build/install-build-deps.sh
    • 根据提示输入密码,脚本将安装大量依赖包 。
  2. 运行钩子
    • 再次运行钩子以下载额外的二进制文件:
      bash gclient runhooks
  3. 生成构建文件
    • 创建构建目录并生成配置:
      bash gn gen out/Default

步骤 4: 编译与运行

  1. 开始编译
    • 使用 autoninja 编译 chrome 目标:
      bash autoninja -C out/Default chrome
  2. 运行 Chromium
    • 编译完成后,直接在终端中启动它:
      bash out/Default/chrome

💡 重要提示与常见问题

  • 网络问题:由于众所周知的原因,访问 chromium.googlesource.com 可能不稳定。如果遇到连接问题,你可能需要为 git 和命令行配置临时代理 。
    bash # 设置 HTTP/HTTPS 代理 (以本地 7890 端口为例) set http_proxy=http://127.0.0.1:7890 set https_proxy=http://127.0.0.1:7890 git config --global http.proxy http://127.0.0.1:7890 git config --global https.proxy http://127.0.0.1:7890
  • 编译中断:编译过程非常耗时,如果因为意外中断(如电脑关机、网络断开),不用担心。只需重新执行 autoninja -C out/Default chrome 命令,它会从断点处继续 。
  • 指定版本:如果你想编译某个特定版本(如 103.0.5060.66),可以在 gclient sync 时指定 。
  • 磁盘空间:务必确保你的系统盘(或代码存放盘)有超过 100GB 的空闲空间。编译过程会产生大量中间文件。

Comments

  1. Owner
    3 months ago
    2026-3-17 14:05:00

    git checkout -b v126-6478-271
    cd D:chromium && gclient sync –with_branch_heads –with_tags -D –force
    cd src && mkdir outv126_build
    编辑 outv126_buildargs.gn
    gn gen outv126_build
    autoninja -C outv126_build chrome

Send Comment Edit Comment


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
Previous
Next