chromium源码获取和编译方法(2015.12.18)

来源:互联网 发布:coc地震升级数据 编辑:程序博客网 时间:2024/06/06 03:13

前一段时间一直在看chromium的源码,起初的时候什么也不懂,只能按照网上找来的获取chromium源码的方法试水,网上大多数的文章都是几年前的,现在chromium的源码都放在git上了,有些文章提供的方法早已经过时,而且有些文章也很深,初学者很难看懂。我就因为这个走过了无数的大坑。现在总结一下chromium源码的获取和编译方法,一来算是做个笔记(好记性不如烂笔头),二来给那些现在想要学习chromium源码的同学一点儿提示,少走一些坑。还要在这里郑重声明,这篇文章中的方法是我在2015.12月写的,在最近一段时间内该方法肯定适用,但是再过些时日,google怎么变化为未可知,本文方法适不适用也就是未知数了。废话不多说直接上步骤:

谨记一定要按我说的一步一步来,如果前一步没有成功,不要做后一步。遇到问题认真看错误提示,会对解决问题帮助很大。

开始此项工作建议做以下准备工作:
1、 把本机环境变量做备份,最好可以创建本机的还原点。
2、 将本机系统语言修改为英文。
**官方原文:
You must set your Windows system locale to English, or else you may get build errors about “The file contains a character that cannot be represented in the current code page.”**
3、 全程需要稳定的VPN(成败关键)。
4、 直接添加环境变量DEPOT_TOOLS_WIN_TOOLCHAIN 值为0.
设置为0是让gclient不要自动去构建环境,使用本机现有环境,可能修改的地方比较多。设置为1是让gclient自动构建环境,默认为0。
5、建立保存chromium源码的文件夹,留出30G的空间。
一、 下载depot_tools.
下载地址:https://src.chromium.org/svn/trunk/tools/depot_tools.zip
注意:不要使用拖拽和复制粘贴的方式从压缩包中提取文件,否则”.git”隐藏文件夹下的文件不会被提取出来。“.git”文件夹是depot_tools自动更新的必要文件。你可以使用解压工具的“解压文件…”操作。

设置环境变量,将PATH系统变量,最后添加depot_tools的路径地址。

二、 安装git&python工具
从命令行到保存chromium源码的路径下,运行命令:gclient。第一次运行,gclient将会安装所有和获取源码相关的工具。

**Fetching fromhttps://src.chromium.org/svn/trunk/tools/third_party/svn_bin.zip
fatal: unable toaccess ‘https://chromium.googlesource.com/chromium/tools/depot_tools.git/‘:Failed connect to chromium.googlesource.com:9217; No error
Cannot rebase:You have unstaged changes.
Please commit orstash them.
Failed to updatedepot_tools.
如果遇到上述问题,是你无法连接到chromium服务器,必须使用vpn或者代理。**
三、 git设置
Git安装后需要一些设置
这里写图片描述
四、 选择源代码的频道
在获取chromium代码之前你先要搞清楚自己需要哪个版本的代码。chromium同时有四个发布分支,分别是:
• canary频道。这一般是最前沿的实验版本,每日发布。它没有经过充分测试,可能有某些奇怪的bug。如果是为了学习基础的chromium代码,我不建议跟进这个分支。
• dev频道。每2星期发布,相对稳定,新功能和新特性都有。
• beta频道。每周更新,6周大版本更新。比较稳定了,比dev版小1个版本,基本是发布的候选,比stable版本早进化一个月。
• stable频道。就是稳定版,比dev版本小2个版本,2到3周次版本跟新,6周主版本跟新。经过了充分的测试,我比较推荐这个版本。
这里可以看到详细的说明:http://www.chromium.org/getting-involved/dev-channel
五、 获取代码
命令行切换到保存chromium源码的路径,输入$ fetch –nohooks chromium –nosvn=true开始获取主干代码:
这里写图片描述
需要4-8小时,主要看网速了(获取代码这一步有很多大坑,个人觉得全凭运气和VPN了)。
六、 切换到工作分支
获取完代码一般是在master分支,这个分支一直都在更新,不稳定。需要切换到一个已发布的稳定版本上。选择follow stable频道的代码,然后就是要选择一个版本。在chromium的发布日历 http://dev.chromium.org/developers/calendar 上找到最新的stable频道版本,目前是47.0.2522.80。
进入src目录中运行git:
git fetch –tags(获取所有分别tag信息)
git checkout –b my_release_branch 47.0.2526.80(建立自己的分支)
gclient sync –with_branch_heads –job 16(同步所有相关工程代码)
之后要做的就是等待。完成之后你可以输入$git branch 查看所在分支是否是自己创建的分支。
七、 生成工程
运行gclient runhooks –force 就会包编译需要的vs2013的文件下载到本地,存储在depot_tools\win_toolchain\vs2013_files路径下,主要文件是编译需要的库文件。
然后在命令行中输入:
set GYP_MSVS_VERSION=2013
set GYP_GENERATORS=msvs-ninja,ninja
set GYP_DEFINES=component=shared_library
最后打开src\chrome\chrome.sln进行编译即可。

1 0
原创粉丝点击