阅读目录

  •   编译chromium
  •   15个编译流程:
  •   参考:
  •   注意:
回到顶部

  编译chromium

  系统为windows, 国内在windows上编译chromium的资料比较少, 我这篇文章只能作为参考, 记录我遇到的一些问题,因为chromium团队也会修改了代码,或者编译流程;

  如果你用linux或者mac,就别看这篇文章, 国外的编译文档都是linux和mac, 因为差别还是比较多的;

回到顶部

  15个编译流程:

    1:chrome源码; https://chromium.googlesource.com/chromium/chromium/

    2:系统要求:win7以后的版本, 处理器要求x86或x64;

    3:window下, 起码要8G的空余内存, 硬盘最好是固态的, chromium整个项目需要个10G的硬盘空间;

    4:vs2015第二版或者更新的版本, 安装的时候要选择自定义安装(选择Visual C++下的3个选项,MFC);

        

    以及window10的SDK, 反正看到SDK就选上吧 , 否则还要重新安装VC2015:

      

    5:下载depot_tools:https://src.chromium.org/svn/trunk/tools/depot_tools.zip;

    6:下载以后解压, 把depot_tools设置为环境变量,  和环境变量DEPOT_TOOLS_WIN_TOOLCHAIN  = 0;

    7:创建一个chrome_build目录, 把chrome的源码放在这儿(用git下载很慢很慢);如果是mac的系统,直接参考官方文章: http://www.chromium.org/Home

运行下面代码

mkdir chromium //创建目录
cd chromium
fetch --no-history chromium //同步代码

    8:执行gclient sync, 没问题的话, 会自动下载python和git,此时要注意, 因为有GW, 我们要让git的协议也走代理 ,

    让git走代理的前提是有一个代理服务器或者socks代理,我这边用的是socks5的代理,代理端口为本地的1080:

运行下面代码

git config --global https.proxy  socks5://localhost:1080
git config --global core.proxy  socks5://localhost:1080
git config --global http.proxy  socks5://localhost:1080
git config --global http.sslVerify false

    如果要取消git的代理我们执行下列命令:

运行下面代码

git config --system (或 --global 或 --local) --unset http.proxy
git config --system (或 --global 或 --local) --unset httpx.proxy
git config --system (或 --global 或 --local) --unset core.proxy

    9:以上那一步是给git设置代理, 代理为本地的sock5, 但是还没给python设置代理, 如果不给python设置代理, 将会导致python下载文件失败, 我们通过修改depot_tools源码的方式让python走代理

    修改几个文件, 这个路径是相对与depot_tools的目录, 目前只要改3个python脚本文件,以后就不知道了, 要根据cmd给出的错误源,自己改去:

depot_tools\gsutil.py

depot_tools\external_bin\gsutil\gsutil_4.15\gsutil\third_party\httplib2\python2\httplib2\__init__.py

depot_tools\external_bin\gsutil\gsutil_4.13\gsutil\third_party\httplib2\python2\httplib2\__init__.py

    在相关的文件import之后,主程序代码后面添加:

运行下面代码

import win_inet_pton
import socks
import socket
socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, "127.0.0.1", 1080)
socket.socket = socks.socksocket

    因为我本地用shadowsocks,所以把代理设置为本地的1080端口

    下载过程如果卡死,可以通过任务管理器判断后台有没有在下载, 如果真的卡死, 就ctrl+C, 强制取消, 然后重新执行gclient sync, 重新同步;

            

    10:在src目录执行,  python会链接到https://storage.googleapis.com/下载第三方依赖模块:

运行下面代码

gclient runhooks

    12: 生成BUILD.gn文件:

运行下面代码

gn gen out\Default

    13:到目前为止,代码算是下载完毕, 然后执行:

运行下面代码

ninja -C out/Default chrome

     如果机器不太行的话,我们可以修改编译参数: ninja -j  配置同步编译任务的数量 , 默认是6, 如果机器比较卡就要改, 否者编译的过程会出错;

        

    14:2万多的文件, 让他慢慢编译:

      

    15:几个小时的编译以后, 成果终于出来了:

      

回到顶部

  参考:

    python走socks5代理的参考:http://www.cnblogs.com/diligenceday/p/5719978.html

    执行gclient时候无法下载远程rar包的解决方法:  http://longyw.iteye.com/blog/2058949

    这个哥们成功编译了chromium : http://wendal.net/2015/02/04.html

    how to use git through a proxy:  http://cms-sw.github.io/tutorial-proxy.html, 老版本的git需要手动把socks5代理转化为git代理, 新版本的不用, 所以只要有新版本的git就好了;

    chromium源码 download_from_google_storage 无法下载文件 : http://www.cnblogs.com/ayanmw/p/4500825.html

    给python安装 pypi ,让python走代理 : https://pypi.python.org/pypi/setuptools#windows-simplified

     官方文档 :http://www.chromium.org/developers/how-tos/

    只能说chromium的源码实在太坑爹了, 即使有fq了,依然是各种悲剧, 哎:http://blog.csdn.net/qhh_qhh/article/details/49078425

回到顶部

  注意:

    一定要给git和python设置代理, 如果使用更改host的方式实现FQ, 会出现验证的问题,  导致python和git同步文件失败的情况

    不要使用别人下载好的项目,  因为chromium这个项目非常大, 编译会涉及到操作系统, 环境, 编译工具, chromium的版本, 以及FQ, 文件下载失败, 验证....各种问题, 自己能FQ下就去下

    建议大家别看网络上的chrome编译教程, 因为chrome的代码一直在更新, 现在也有了新的编译方式, 别人能够编译的, 你肯定不能编译 最好的的方法是参考官方文档, 必须看官方:

      https://www.chromium.org/developers/

      https://www.chromium.org/developers/how-tos/get-the-code

windows下编译chromium浏览器的15个流程整理相关推荐

  1. windows下编译chromium浏览器的方法

    文章目录 下载depot_tools 下载chrome 源码 参考文章: 下载depot_tools https://chromium.googlesource.com/chromium/tools/ ...

  2. Windows下编译Chromium

    1 下载VS2019并安装 感谢您下载 Visual Studio - Visual Studio 2 下载winsdk并安装 https://download.microsoft.com/downl ...

  3. windows下编译skia库

    windows下编译skia库 环境需求: 1.安装python2.7.x: python3系列可能又某些库不支持,所以推荐使用python2.7.15(最新). 如何检查是否安装python: 1. ...

  4. Windows下编译TensorFlow1.3 C++ library及创建一个简单的TensorFlow C++程序

    参考:https://www.cnblogs.com/jliangqiu2016/p/7642471.html Windows下编译TensorFlow1.3 C++ library及创建一个简单的T ...

  5. 记录 Windows 下编译一个开源 SM9 签名验签 C 程序的过程

    注:本文不讨论算法具体实现细节,只介绍如何编译一个现有的程序实现. 在商用密码检测中心( 链接:http://www.scctc.org.cn/index.aspx )的网站上,"下载中心& ...

  6. 实战Windows下编译Opencc 1.0.5

    Opencc是中文简繁转换开源项目,支持词汇级别的转换.异体字转换和地区习惯用词转换(中国大陆.台湾.香港). 特点 严格区分「一简对多繁」和「一简对多异」. 完全兼容异体字,可以实现动态替换. 严格 ...

  7. Windows下编译Chrome V8

    主要还是参考google的官方文档: How to Download and Build V8 Building on Windows 同时也参考了一些其它的中文博客: 脚本引擎小pk:SpiderM ...

  8. Windows下编译 Hadoop

    Windows下编译 Hadoop-2.9.2 系统环境 系统: Windows 10 10.0_x64 maven: Apache Maven 3.6.0 jdk: jdk_1.8.0_201 Pr ...

  9. Windows下编译tensorflow-gpu教程

    这两个也要看: https://zhuanlan.zhihu.com/p/29029860 https://zhuanlan.zhihu.com/p/34942873 Windows下编译tensor ...

最新文章

  1. 关于jsp页面中的pageEncoding和contentType以及html中的meta标签中字符集的设置(转)...
  2. azure devops中文显示乱码_【Azure DevOps系列】Azure DevOps生成代码覆盖率
  3. rnn词性标注算法_Python预测算法哪家强?权游龙妈是生还是凉凉?
  4. 使用qtcreator中的git_Git中submodule的使用
  5. 洛谷出现RE(re)的情况
  6. 算法十——深度优先搜索和广度优先搜索
  7. jquery ajax调用服务器端指定的函数的三种方式
  8. 深度学习笔记(49) 风格代价函数
  9. jasmine-JavaScript单元测试工具
  10. 数据库级别的MD5加密(建议收藏)
  11. php excel 导入大量,用phpExcelReader不能导入大量数据解决办法
  12. .NET多线程编程(14)——用C#实现蜘蛛/爬虫程序的多线程控制
  13. ni数据采集卡C语言API接口,NI数据采集卡
  14. SIP的几个主要标准协议
  15. 知我者,谓我心忧,不知我者,谓我何求。何必说?
  16. 教你怎么免费升级宝塔企业版和专业版
  17. python的基础讲解
  18. Your build settings specify a provisioning profile with the UUID, no provisioni(没多大用)
  19. c语言编程文件打不开,c语言fopen打开文件失败的原因是什么?
  20. Deep Biaffine Attention for Dependency Parsing

热门文章

  1. Maven(四):定制库到Mave本地资源库 (Kaptcha)
  2. java知识大全积累篇
  3. JAVA的23种设计模式
  4. s3c6410裸机程序(1)
  5. SPOJ - OPTM Optimal Marks(进制拆分+最小割)
  6. 牛客多校4 - Basic Gcd Problem(预处理质因子的个数)
  7. CodeForces - 706D Vasiliy's Multiset(字典树删除操作)
  8. POJ - 2411 Mondriaan's Dream(状压dp)
  9. uva 10305拓扑排序
  10. nginx系列之二:配置文件解读