• 忘掉天地
  • 仿佛也想不起自己
bingliaolongBingliaolong  2021-04-18 04:01 Aet 隐藏边栏 |   抢沙发  155 
文章评分 8 次,平均分 5.0

下载depot_tools

官方压缩包

环境1

  1. 下载并解压好depot_tools之后,把它的路径放在系统环境变量Path里面,并放在最上面一行
  2. 在环境变量里面不要有python的路径,至少不能放在depot_tools的前面
  3. 在系统变量里面添加:DEPOT_TOOLS_WIN_TOOLCHAIN值为0
  4. 在用户变量或系统变量里面添加:vs2019_install值为"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community"

环境2(第一次安装depot或者删除后重装depot)

  1. 在CMD(一定是CMD)里面,运行gclient
  2. 第一次运行这个命令,它会下载需要的相关依赖,注意运行这个的时候需要开着梯子

代理

  1. aabb为端口号(比如开了clash之后,aabb可以是clash的端口号)
  2. 这里要注意一下,https_proxy等号后面的是http而不是https
  3. 记录:
    1. lanhai是设置到7890
    2. my vps是设置到1080

检查python

  1. 运行where python3
  2. 如果显示的结果中,python.bat在任何python.exe的上面,那就没问题
  3. 如图

下载chromium代码

  1. 在一个想要存放代码的地方新建文件夹,最好是放在固态盘:mkdir chromium && cd chromium
  2. 这一步就不再局限与CMD了,也可以用bash,但还是建议使用CMD
  3. 运行fetch chromium
  4. 等它下,可能时间会比较久一点
  5. 下好之后,cd src,进入到src目录
  6. 运行gn gen out\aet生成构建相关项

关于生成构建

  1. gn gen out\aet将会在源码src目录下的out\aet下面会生成VS工程的相关配置
  2. 但是直接使用上述不带参数的命令生成的内容,将会非常巨大,我现在这个时间节对应的chromium版本生成的VS大概会有9000多个项目在里面,我3900X,32G内存,再使用了vschromium插件之后,光打开项目会花很久时间,然后VS奔溃掉,重启了。
  3. 我的自定义要加载的命令如下:

  1. 仅仅显示出部分想要加载到里面的项目
  2. 如果后续需要添加别的,只需要在上述命令里做修改,然后重新生成之后,VS会检测到变化,重新加载一下就可以了。

关于工程的参数指定

  1. cd src
  2. gn args out\aet,打开args.gn文件
  3. 部分参数内容可参考如下:

编译

  1. 可以直接使用autoninja -C out\aet chrome编译所有内容
    1. 调用ninja时指定chrome,可以避免构建许多测试二进制文件
  2. 但是如果这样做,一定要配置好才可以。因为多的情况下可能会需要编9万多个内容。经测试,12核24线程的3900X,32G内存,这样的环境下,前一天晚上花了3个小时编了三分之一,因电脑休眠了,第二天上午8点编到中午,可能可我的机器没装额外的散热有关系
  3. 也可以用只编译部分内容的方法,慢慢编。如下:

关于更新chromium/main分支代码

关于更新depot_tools

  1. 更新这个depot_tools,要设置这个代理,不然会跑不动

遇到的问题

PATH_TO_INSTALLER.EXE

  1. 并不是在VS安装目录下找到vs_installer.exe或者setup.exe
  2. 而是一个大概1M左右的类似vs_community.exe的安装工具,下载路径如下:
    1. 下载路径
  3. 如果是要自定义安装路径

  1. 如果是默认安装的情况

ninja不识别

  1. ninja.exe 不是内部或外部命令,也不是可运行的程序
  2. 这个问题是,在用gn gen生成sln工程的时候,没有指定--ninja-executable导致的

failed to resolve infra/...

  1. 这个问题之前解决过,但是没有做记录,导致后面由遇到这个问题了,还不记得怎么解决。描述如下:
  2. failed to resolve infra/...prpc: sending request: Post "https://chrome-infra-packages.appspot.com/prpc/cipd.Repository/ResolveVersion"
  3. 解决如下设置:

命令 call xxx\ninja.exe xxx\ obj/chrome/chrome.stamp 已退出,代码1

  1. 原因是在gn gen生成VS工程的时候,拷贝的命令,没注意看,里面ninja.exe的路径不对
  2. 看VS控制台输出的时候看得不够仔细,没注意到还有这一句

关于VsChromium

  1. 它会把所有符合配置的东西直接加载到内存中
  2. 这样对于如此庞大的一个项目而言,搜索东西起来就巨方便了
  3. 不过相应的就需要机器的内存大一些,可能光这个插件就要占用5到6个G内存
  4. 曾经别人建议我说内存他建议64G起步
  5. 我的VsChromium的配置如下

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

bingliaolong
Bingliaolong 关注:0    粉丝:0 最后编辑于:2025-03-22
Everything will be better.

发表评论

表情 格式 链接 私密 签到
扫一扫二维码分享