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. 总结

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


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

相关推荐
Larry_zhang双栖12 小时前
低版本Chrome 内核兼容性问题的优美解决
前端·chrome
守城小轩15 小时前
Chromium 138 编译指南 Windows篇:环境变量配置与构建优化(三)
指纹浏览器·浏览器开发·超级浏览器
allanGold17 小时前
【Chrome】chrome 调试工具的network选项卡,如何同时过滤出doc js css
chrome·调试·devtools·技巧·network选项卡
itxh66618 小时前
Chrome浏览器 “此扩展程序不再受支持,因此已停用” 解决方案
chrome·插件·chrome浏览器
恣艺1 天前
Redis有序集合(ZSet):排行榜功能的最优解,原理与实战
数据库·chrome·redis
守城小轩2 天前
Firefox Window 开发详解(一)
firefox·指纹浏览器·浏览器开发·超级浏览器
伐尘2 天前
【CE】图形化CE游戏教程通关手册
前端·chrome·游戏·逆向
John_ToDebug2 天前
浏览器稳定性提升之路:线上崩溃率优化中的 Return 与 CHECK 之争
c++·chrome
zhangfeng11332 天前
R geo 然后读取数据的时候 make.names(vnames, unique = TRUE): invalid multibyte string 9
开发语言·chrome·r语言·生物信息
未来之窗软件服务3 天前
浏览器开发CEFSharp (十七)网页自定义下载—仙盟创梦IDE
chrome·浏览器开发·cefsharp·仙盟创梦ide·东方仙盟