Ungoogled Chromium127 编译指南 MacOS篇(八)- 开始编译

1. 引言

完成了所有依赖包的安装后,我们终于来到了最关键的编译阶段。在开始编译之前,有一些重要的配置信息需要了解。本文将指导您完成整个编译过程。

2. 签名相关说明

虽然在我们的测试编译中不需要进行签名操作,但了解官方的签名要求仍然很有帮助:

2.1 签名环境变量

如果需要签名和公证,需要设置以下环境变量:

复制代码
MACOS_CERTIFICATE_NAME       # Developer ID 证书全名
PROD_MACOS_NOTARIZATION_APPLE_ID  # Apple 开发者账号邮箱
PROD_MACOS_NOTARIZATION_TEAM_ID   # Apple 开发者团队 ID
PROD_MACOS_NOTARIZATION_PWD       # App 专用密码

2.2 签名代码部分

在正式发布版本中,build.sh 会包含类似以下的签名代码:

复制代码
# Sign the binary
codesign --sign "$MACOS_CERTIFICATE_NAME" --force --timestamp \
    --identifier io.ungoogled-software.ungoogled-chromium \
    --options restrict,library,runtime,kill \
    --entitlements $_root_dir/entitlements/app-entitlements.plist \
    out/Default/Chromium.app

# Verify the binary signature
codesign --verify --deep --verbose=4 out/Default/Chromium.app

3. 开始编译

3.1 准备工作

复制代码
# 确保位于项目目录
cd ungoogled-chromium-macos

# 确保 Xcode 已打开
# 这一步很重要,因为编译过程需要访问 Xcode 的开发者工具

3.2 运行编译脚本

复制代码
# 执行编译脚本
./build.sh

3.3 编译过程说明

  1. 脚本会首先下载 Chromium 源码
  2. 应用 Ungoogled Chromium 的补丁
  3. 配置构建参数
  4. 开始实际的编译过程

4. 注意事项

4.1 编译时间

  • 编译时间较长,通常需要几个小时
  • 具体时间取决于您的硬件配置
  • 建议使用性能模式并连接电源适配器

4.2 可能的问题处理

如果编译失败,需要进行以下清理:

复制代码
# 如果下载失败,删除下载缓存
rm -rf build/downloads_cache

# 如果编译失败,删除源码目录
rm -rf build/src

4.3 系统资源

  • 确保有足够的磁盘空间(至少 40GB)
  • 保持系统有足够的可用内存
  • 避免在编译过程中运行其他重资源程序

5. 编译输出

编译成功后,将在 build/ 目录下生成 .dmg 文件,这就是我们编译好的 Ungoogled Chromium 浏览器安装包。

6. 后续步骤

下一篇文章中,我们将介绍如何验证编译结果,并对编译好的浏览器进行简单的功能测试。

7. 总结

编译过程虽然耗时,但只要正确配置了环境并遵循步骤,通常都能顺利完成。请耐心等待编译完成,避免中断编译过程。如果遇到问题,可以参考前面提到的清理步骤重新开始。


注意:本指南采用测试目的的编译方式,没有进行签名操作。如果您需要发布版本,请参考官方文档中的签名说明进行相应配置。

相关推荐
IT小白杨2 天前
2026年短视频平台风控技术解析:设备指纹体系、行为建模与环境隔离的边界在哪里
chrome·经验分享·架构·音视频·安全架构·指纹浏览器
Ai拆代码的曹操3 天前
Nginx upstream keepalive 连接池中毒排查实录
chrome·nginx·php
IT小白杨3 天前
防关联用指纹浏览器还是虚拟机好?2026年技术架构深度对比与选型决策
chrome·经验分享·microsoft·架构·安全架构·指纹浏览器
不可能掉发4 天前
Env Guard:让浏览器一眼分清生产、测试和开发环境
前端·javascript·chrome·测试工具·html·开源软件·个人开发
小龙飞刀5 天前
Chrome插件自动化测试:单元测试、集成测试
chrome·单元测试·集成测试
IT小白杨6 天前
2026亚马逊多店铺运营的环境隔离架构与合规实践
经验分享·架构·业界资讯·指纹浏览器
东方护航数据恢复(深圳)7 天前
服务器硬盘黄灯/红灯故障排查与处理命令全指南_东方护航数据恢复深圳店
运维·服务器·chrome
赵广陆7 天前
FastAPI零基础完整实战
前端·chrome·fastapi
Nuanyt8 天前
Linux系统的 Shell 常见指令和常见知识点(以bash为主)
linux·运维·chrome·bash
IT小白杨9 天前
从环境制备到自动化工作流:多账号运营的工程化架构拆解
java·经验分享·自动化·安全架构·指纹浏览器