之所以这么喜欢chrome,就是因为它开放。与firefox不同,ff使用了mozilla的一些技术:xul、xpcom,而且编译过程非常复杂,不适合研究学习。chrome使用了最普通的lib:WTL、zlib、libpng、sqlite、webkit,连v8也不是专门为chrome开发的,它甚至可以独立在命令行中解释js代码。编译过程中使用了最最最平常不过的工具python,svn,cygwin。。。比起mozilla平易近人多了。
1.为下载源码做准备
这里下载depot_tools,解压缩。
http://src.chromium.org/svn/trunk/tools/depot_tools.zip
安装一个python 2.4,我直接从这里用svn签出了一个。官方用的就是2.4,我没尝试过其他版本。
http://src.chromium.org/svn/trunk/tools/third_party/python/
因为gclient要用svn,而我只有TortoiseSVN,所以我在这里签出一个svn。
http://src.chromium.org/svn/trunk/depot_tools/win/bootstrap/svn
或者这里下载
http://subversion.tigris.org
将depot_tools,python,svn的三个路径添加到PATH环境变量中。
之后,我把其中python和svn下面所有的.svn文件夹都删除了,免得svn操作的时候混乱,产生不必要的麻烦。不知道如果不删除会不会失败。
2.下载源码 - 从SVN签出
gclient config http://src.chromium.org/svn/trunk/src
(可选)在.gclient文件中添加这些
"custom_deps" : {
"src/webkit/data/layout_tests/LayoutTests": None,
},
目的是为了不下载LayoutTests的文件。因为这个很浪费时间,而且好像目前对方的SVN还有问题,导致后面的gyp程序不能执行。
gclient sync (--force)
2.下载源码 - 下载tgz的压缩包
http://build.chromium.org/buildbot/archives/chromium_tarball.html
解压缩后如果想更新到最新版本就执行这个
gclient sync (--force)
3.编译
编译chrome_exe工程就可以了。等啊等啊。。。
注意:
源码的目录名中不能有空格。
官方说tgz压缩包不能用cygwin的工具解压,文件访问权限会出问题,推荐7z。当然也不能用winrar,它处理0大小的文件会出错。
如果打开src\chrome\chrome.sln后发现,很多工程不存在,说明gyp过程失败。自己调用src\tools\gyp\gyp.bat src\build\all.gyp,这样打开sln就发现都齐了。
如果VS2008出现“Error C2471: cannot update program database”错误,去这里下一个补丁打上
http://support.microsoft.com/kb/946040
如果找不到t2embap.h,或者安装一个Windows SDK 6.1,或者去其他安装了的机器上找到t2embap.h .lib .dll分别拷到你的SDK的include,lib,windows的system32就可以了。
分享到:
相关推荐
本文旨在详细介绍如何下载并编译Chromium源码,包括所需的基本配置、工具安装以及解决过程中可能遇到的问题。 #### 二、前期准备 **1. 系统代理设置** - **目的**:由于Chromium源码主要存储于Google服务器,因此...
Chrome 浏览器作为 Google 推出的一款革命性的浏览器,以其高效、稳定和安全的特点赢得了全球用户的青睐。它的设计和实现有许多值得深入研究的地方,包括多进程架构、V8 引擎、插件模型以及跨平台的 UI 控件系统。 ...
Chrome源码学习文档是一份宝贵的资源,它涵盖了Google Chrome浏览器的官方文档以及互联网上专家们对Chrome源码的深入分析。这份文档对于那些想要深入了解浏览器工作原理、优化Web应用性能或者进行浏览器扩展开发的IT...
### Google Chrome 浏览器编译过程详解 #### 一、搭建编译环境 Google Chrome 是一款由 Google 开发的免费开源网页浏览器,基于 Chromium 项目。为了编译 Google Chrome,首先需要准备合适的编译环境。 ##### 1. ...
【Chrome源码剖析】 Chrome,作为Google开发的一款广泛使用的网页浏览器,其源码的剖析对于理解浏览器的工作原理和技术实现具有极高的价值。Chrome的核心特性之一是采用多进程架构,这与传统的单进程浏览器有很大...
7. **性能优化**:Chrome源码中包含了大量的性能优化技术,例如使用Web Workers进行后台计算,Service Worker实现离线应用,以及预测和预加载机制以提高加载速度。 8. **用户界面**:Chrome的用户界面使用Web技术...
在这个项目中,"chrome cef 源码下载" 指的是获取CEF的源代码,以便进行定制化开发或者深入理解其内部工作原理。 CEF基于Chromium项目,Chromium是Google Chrome浏览器的基础,由WebKit(后来演变为Blink)渲染引擎...
9. **google_update**:自动更新系统,确保Chrome能持续获取最新版本的安全补丁和功能改进。 10. **googleurl**:Google开发的URL解析库,提供URL的解析和操作功能。 11. **ipc**:进程间通信的基础库,Chrome的多...
vue.js的devtools安装,实现了谷歌浏览器可以直接查看vue源码,类似h5的元素开发者模式。 方法1:打开谷歌浏览器>更多工具>拓展程序(直接把解压缩的文件拖进去,ctrl+r即可) 方法2:打开谷歌浏览器>输入网址:...
【Android Chromium 谷歌浏览器安卓版源码项目】是一个开放源码的移动浏览器项目,基于Google的Chromium工程,为Android平台量身定制。这个项目不仅提供了Android设备上谷歌浏览器的基础架构,还展示了世界级的...
Android Chromium是一款开源的浏览器项目,它是Google Chrome浏览器在Android平台上的核心组件。此源码提供了深入了解Android应用程序开发、Web浏览技术以及Chrome浏览器内部工作原理的宝贵资源。通过分析这份源码,...
针对这个需求,`C#` 提供了一种方式来读取并解密Chrome浏览器的Cookie值。本文将详细讲解如何利用`C#`代码实现这一功能,以及与之相关的技术点。 首先,`C#`是Microsoft开发的一种面向对象的编程语言,广泛应用于...
PDFium 是一个开源的PDF阅读器引擎,最初由Google开发并用于Chrome浏览器,现在成为Chromium项目的一部分。这个压缩包包含的是PDFium的源代码以及一个适用于Visual Studio 2017的编译工程,意味着你可以直接在VS2017...
源码高达 1G 以上,下载和编译过程需要大量时间和硬盘空间。使用 VC 2005 编译完成后,我们可以得到英文版的 Chrome 浏览器。为了进行本地化,我们可以修改 Chrome 支持多种语言的动态链接库(DLL)。例如,将英文版...
6. **源码编译**:如果这个离线包是基于源码编译的,那么就涉及到了源码编译环境的搭建,编译参数的设置,以及针对特定操作系统的优化。 这些知识点不仅对麒麟信安系统的用户有帮助,对于软件开发者,尤其是关注跨...
经过两周探索编译chrome源码,终于编译出了google浏览器的chrome.exe文件,编译方法总结为一篇文档
只需按照指定的配置文件(通常为`.gclient`),`gclient`就能自动下载并管理这些代码库,确保你的本地副本与远程仓库保持同步。 其次,`depot_tools`还包含`gn`,这是一个用于生成 Ninja 构建文件的工具。Ninja 是...
在资源编辑器中完成修改后,重新编译项目,生成新的DLL,然后运行编译后的Chrome,即可看到修改后的效果。 关于对话框的显示逻辑位于`about_chrome_view.cc`文件中,该文件定义了一个名为`AboutChromeView`的类,这...
谷歌的V8引擎是一款开源的JavaScript执行环境,它被广泛应用于Chrome浏览器和其他基于Chromium的项目。V8 version 3.14.0.1是该引擎的一个特定版本,发布于2012年左右。这个版本包含了V8引擎的核心功能和优化,使...