chromium浏览器开发系列第⼀篇:如何获取最新chromium源码背景:
最近摊上⼀个事⼉,领导⾮要让写⼀篇技术⽂章,思来想去,⾃⼰接触chrome浏览器时间也不短了,⼲脆就总结⼀下吧。于是乎,本⽂顺理成章。由于有些细节必需描述清楚,所以这次先讲如何拿到chromium的源码,下次直接把编译过程写出来,供⼤家参考。
前期准备:
之前的chromium源码都是⽤svn来维护,所以源码地址⽹上贴的到处都是,我看了⼀下,svn的版本最新的也就到39,往下就没有更新了。所以⼜看了chromium的官⽅,把源码编译的前期准备看了⼀通。简单叙述如下:
从chromium⽹站看到下⾯⼏句话,说明depot_tools和git很重要。所以先从它们⼊⼿。
1.下载depot_tools
下载地址:
注意:不要使⽤拖拽和复制粘贴的⽅式从压缩包中提取⽂件,否则”.git”隐藏⽂件夹下的⽂件不会被提取出来。“.git”⽂件夹是depot_tools⾃动更新的必要⽂件。你可以使⽤解压⼯具的“解压⽂件…”操作。
环境变量设置,给个图更直观:
管理员权限⽤户:
修改PATH系统变量,在最后增加depot_tools的路径地址,如:C:\workspace\depot_tools.
⾮管理员⽤户:
添加PATH⽤户变量:在⽤户变量点击新建,增加PATH变量名,变量值为depot_tools的路径地址,如上图。
2.安装git和python
如果你已经⼿动安装了msysgit和python,则跳过这⼀步。
从命令⾏到保存chromium源码的路径下,运⾏命令:gclient。第⼀次运⾏,gclient将会安装所有和获取源码相关的⼯具,例如
git,python:
fatal: unable toaccess 'lesource/chromium/tools/depot_tools.git/':Failed con
nect to
Cannot rebase:You have unstaged changes.
Please commit orstash them.
Failed to updatedepot_tools.
如果遇到上述问题,应该是你⽆法连接到chromium服务器,你可以使⽤vpn或者代理。
注意:
1)如果你在cygwin或者PowerShell等⾮命令⾏窗⼝运⾏gclient时,有可能能正常运⾏,但是msysgit,python和其他⼯具可能不会正确安装。
3)如果你在windows xp上运⾏,并且看到像下⾯的错误:“The system cannotexecute the specified program”, 请安装 “Microsoft Visual
C++ 2008 RedistributablePackage”.
3.git设置
Git安装后需要⼀些设置
如果你从来没有⽤过git,还是先百度⼀下git的使⽤⽅法,⾄少知道⼀些简单的操作命令。
*在获取代码之前,确认git,python,depot_tools已经加⼊环境变量中。
4.获取代码
1)获取主⼲代码:到达保存chromium代码的路径,直接右键git bash,输⼊$ fetch --nohooks chromium --nosvn=true开始获取主⼲代码:这个过程⽐较慢,估计下载需要⼏个⼩时时间,慢的话也许⼗⼏个⼩时,所以⼤家最好把这⼀步放在晚上睡觉时进⾏。
2)获取主⼲分⽀标签(版本)信息:
切换⾄src⽬录下:
git fetch --tags >& 2>&1  //标签号42.0.2311.61会保存在⽂件中
git checkout -b chrome_42.0.2311.61_local_branch 42.0.2311.61
gclient sync --with_branch_heads --jobs 16
以上命令的解析⼤家都可以在命令的帮助⾥⾯查到。
⾄此,代码已经被下载到各位的硬盘中,通过git命令就可以看到分⽀及标签情况。今天先讲这么多,下次会把编译过程提供给⼤家。
注:拉取代码的过程可能很长,取决于使⽤的vpn的质量;最后代码拉取成功但是执⾏runhooks的时候脚本可能会失败,⾄于是否影响chrome的编译,那就只能看运⽓了。
附:
chromium源码channel:
canary channel:实验版本,每⽇发布。它没有经过充分测试,可能有某些奇怪的bug。
dev channel:每2星期发布,相对稳定,新功能和新特性都有。
beta channel:每周更新,6周⼤版本更新。⽐较稳定了,⽐dev版⼩1个版本,⽐stable版本早进化⼀个⽉。
stable channel:稳定版,⽐dev版本⼩2个版本,2到3周次版本更新,6周主版本更新。
第⼀时间获得博客更新提醒,以及更多技术信息分享,欢迎关注个⼈公众平台:程序员互动联盟(coder_online),扫⼀扫下⽅⼆维码或搜索号coder_online即可关注,我们可以在线交流。有没有什么网站分享源码

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。