Windows环境下如何最小化Chromium构建产物的文件体积?
问题解答
你当前构建产生的48GB文件绝大多数是中间编译产物,外加你开启了is_component_build=true参数导致的大量拆分动态库文件,官方发布的Chrome安装包经过了静态编译、资源压缩、冗余文件裁剪处理,本身不会携带任何编译中间产物,因此体积差距极大。
最小化构建参数调整方案
- 核心调整:将
is_component_build=true改为is_component_build=false。组件构建模式仅面向开发场景,会把Chromium拆分为数百个独立动态库加快增量编译速度,但会大幅占用磁盘空间,正式构建必须关闭该选项。 - 新增官方构建优化参数:添加
is_official_build=true,该参数会自动启用官方发布版本的所有体积优化规则,自动剔除调试相关冗余内容、开启二进制压缩优化。 - 补充额外裁剪参数,进一步缩减体积:
exclude_unwind_tables=true:移除异常回溯用的unwind表,可减少约10%的二进制体积use_thin_lto=true:开启薄链接时优化,兼顾性能与体积优化enable_resource_allowlist_generation=false:关闭不必要的资源白名单生成逻辑,减少冗余资源输出
调整后的完整构建命令
你原命令多打了一次gen属于笔误,修正后的gn生成配置命令如下:
gn gen out/Release --args="is_debug=false enable_nacl=false symbol_level=0 blink_symbol_level=0 is_component_build=false is_official_build=true exclude_unwind_tables=true use_thin_lto=true enable_resource_allowlist_generation=false"
编译命令:
autoninja -C out/Release chrome
额外裁剪可选参数
如果仅需要基础网页浏览能力,不需要其他附加功能,可以在args中额外添加以下开关进一步缩小体积:
enable_extensions=false:禁用扩展支持enable_print_preview=false:禁用打印预览功能enable_media_remoting=false:禁用媒体投送功能enable_webrtc=false:禁用WebRTC音视频通话能力
调整后最终生成的可运行文件总大小会控制在700MB~900MB区间,和官方发布的Chrome体积基本一致。
内容的提问来源于stack exchange,提问作者mentholatum
相关产品推荐
相关产品推荐

