您的位置:首页 > 编程语言

windows Chrome源码编译之代码同步

2014-01-09 10:31 369 查看
 第二步:同步Chrome代码

执行本操作之前请先执行环境的配置 http://blog.csdn.net/benbenzhou007/article/details/17962979

1、     布局本地目录 我设置的目录是 E:\google\chromium,注意这个路径不能还有空格,可能会导致后面编译不通过

2、     我没有使用下载代码包的方式,而是直接使用gclient sync的方式同步代码

3、      下载depot_tools.zip  https://src.chromium.org/svn/trunk/tools/depot_tools.zip

4、      解压depot_tools.zip到E:\google\tools\depot_tools目录,官方的文档说明不要使用拖拽的方式解压,而是使用右键解压到当前目录

5、      把depot_tools.zip解压出来后,确保 depot_tools目录下存在.git文件(该文件是隐藏文件,需要设置系统的隐藏文件可见(google或者百度下))

6、      配置环境变量,把depot_tools的目录加到path环境变量的最后(必须是最后),如下图

7、    
 


8、      下面要开始拉取python和svn文件了,在命令行中输入gclient该命令会首先下载svn和python分别到E:\google\tools\depot_tools\svn_bin和E:\google\tools\depot_tools\python_bin 如果已经同步了python和svn那么会显示gclient命令的帮助说明,如下图,那么说明环境变量的配置和depot_tools都成功了

 


 

 

同步完成后 depot_tools的目录如下

 


9、     如果一切都没有问题了,那么下面开始同步chrome代码了,命令行窗口到之前设置好的代码目录E:\google\chromium 

10、  

 执行配置命令
gclient config http://src.chromium.org/svn/trunk/src
 
 

11、         执行完该命令后 执行 gclient sync开始同步代码了,这是一个漫长的过程,所费用的时间取决于你的网速还有你的人品,请注意:如果中间操作被中断了,可以重新执行gclient
sync的命令
,从gclient的命令帮我们可以知道 执行gclient sync命令时会 checkout或者update代码的操作,那么第二次gclient sync就是update操作了,不会重新同步已经同步好的文件

12、   执行命令 gclient sync 这个命令会调用svn同步源代码。这个过程会比较漫长。全部完成之后全部源代码就保存在E:\google\chromium里面。未编译的代码大约有4个G左右,过程将十分漫长。这样获得的源代码已经包含所有的工程文件,可直接打开。

的另外需要说明的是,gclient sync的过程非常漫长,根据命令行的提示来看总共需要同步67个项目(不是工程),期间可能会因为一些原因导致错误而退出这个过程,需要继续调用sync。比如网络出现故障svn会多次进入sleep状态然后重试,如果多次失败就会报错退出,还有的情况是某些子目录的属性问题无法同步,可根据提示进行操作。还有个目前新出现的问题,下面2个目录“src/webkit/data/layout_tests/LayoutTests”和“src/third_party/WebKit/LayoutTests”的源代码是从src.webkit.org签出来的,但是这个网站目前存在问题无法签出代码,  需要屏蔽掉这2个目录,由于里面是测试代码,即使丢弃也不会影响整个工程的编译,方法是打开trunk下面的.gclient文件(下图文件),向里面添加如下内容

   "custom_deps" : {

    "src/webkit/data/layout_tests/LayoutTests":None,

    "src/third_party/WebKit/LayoutTests":None,

    },

 


 

这样svn就能完成代码的同步了。最后gclient会调用depot_tools/python_bin/python.exe对 src/build/gyp_

chromium进行处理,这样就得到了所有的sln和vcproject文件。如果在src\chrome目录下没有chrome.sln工程,那么肯定是文件没有同步下来,请重复gclient
sync的操作


13、    同步完成后src的目录结构

14、   


15、   


16、   Src/chrome目录下的目录结构和chrome.sln文件,打开可以直接编译了
17、   


18、只需要编译Chrome工程就可以了 其他的测试工程可以无需编译,节省编译时间
19、大功告成 最后来一张运行的效果图吧

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息