通过Chromium编译一个属于自己的浏览器

技术 作者:CnBeta 2019-08-07 15:51:12
Chromium是一个由Google主导开发的网页浏览器,BSD许可证,开放源代码。 Chromium与Chrome的不同之处主要在以下方面: 1)程序图标:Chromium是天蓝色,而Chrome是Google公司的代表色(红、黄、蓝、绿);2)自动更新:Chromium不开放自动更新功能,需要用户手动下载更新,而Chrome则可自动脸上Google的服务器更新,但新版的推出很慢;3)安装模式:Chromium可以下载zip压缩包后解压即可使用,而Chrome则只能通过安装包;4)功能差异:新功能会率先在Chromium上推出,Chrome则会相对落后很多,毕竟稳定第一。之前据说在Chromium的内核上,进行封装后,可以有2.5亿的风投,因此控制不住情绪,亲自体验了一把Chromium的编译1.Chromium的编译的系统要求 要64位机器,内存至少8GB。强烈推荐16GB以上。 至少100GB的可用磁盘空间。下载的安装包大概9GB,编译完成中的,整个目录大概24GB。 本文以Ubuntu16.04为基础进行安装编译,所有用到的命令都是在这系统上敲的 2.安装前提条件--各种安装:) 安装Git:这是下载代码的必要条件,安装比较简单 $ sudo apt-get install git 安装Python:这是编译过程中要用到的 $ sudo apt-get install python 安装depot_tools:这个非常重要,是Google官方提供的一个用来checkout、compile、run和submit的工具集,因此我们先安装depot_tools。 depot_tools和源代码统一放到一个路径(/export/chromium-build/)下 $ mkdir -p /export/chromium-build/
下载后,会在/export/chromium-build/出现depot_tools文件夹 然后,把depot_tools添加到环境变量PATH的末尾 $ sudo vi /etc/profile #添加以下内容 DEPOT_PATH=/export/chromium-build/depot_tools PATH=$PATH:$DEPOT_PATH
3 获取代码 先创建一个存放chromium源文件目录,为了明确路径,使用全路径的 $ mkdir -p /export/chromium-build/source $ cd /export/chromium-build/source $ fetch --no-history chromium > log.list & 说明: --no-history:表示不需要完整的提交历史记录,可以节省大量时间 > log.list &:把日志写到log文件里,后台运行 如果中断的话,可以运行sync进行同步,如下 $ nohup gclient sync & 我下载了有4,5个小时,中间各种原因中断了好几次 下载(fetch)完成后,在当前文件夹下会有一个.gclient文件和一个名为源代码目录src
4.运行hooks程序 代码下载完成后,需要运行一下所谓的钩子函数,它将下载额外的二进制文件和编译需要的其他东西 $ gclient runhooks 5.构建工程 Chromium使用Ninja和GN作为主要的构建工具来生成.ninja文件。执行 $ cd /export/chromium-build/source/src/ $ gn gen out/Default 说明: 只需为每个新的构建目录运行一次,Ninja将根据需要更新构建文件。 也可以替换Default为其他你喜欢的名字,但必须在out目录下面南。 6.构建Chromium $ cd /export/chromium-build/source/src/ $ nohup autoninja -C out/Default chrome & $ tail -f nohup.out 执行这条命令需要挺长时间,跑了十几个小时才完成编译,如果因为各种原因中断了,可以重复使用“nohup autoninja -C out/Default chrome &”进行继续构建。
编译后out/Default目录,大概8.1G 编译完成之后就可以在/export/chromium-build/source/src/out/Default目录中看到Chromium浏览器的应用程序。 运行效果如下:

关注公众号:拾黑(shiheibook)了解更多

[广告]赞助链接:

四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

公众号 关注网络尖刀微信公众号
随时掌握互联网精彩
赞助链接