windows electron sources build,源码编译记录

前言:

  • electron 采用chrome 编译工具链;
  • chrome 相关编译见:https://blog.csdn.net/weixin_44503157/article/details/122861075?spm=1001.2014.3001.5501

步骤:

  1. 选择需要的版本:在electron release 中找到需要的版本(通常根据chrome 版本来选,定electron、node 的版本) https://github.com/electron/releases
  2. 构建 .gclient文件,匹配对应需要的electron 版本
solutions = [
  { "name"        : 'src/electron',
    "url"         : 'https://github.com/electron/[email protected]',
    "deps_file"   : 'DEPS',
    "managed"     : False,
    "custom_deps" : {
    },
    "custom_vars": {},
  },
]

  1. gclient 文件目录直接sync:gclient sync --with_branch_heads --with_tags(electron 的deps 有添加hooks 操作,会直接拉取chrome以及子仓库,并将patch 打好)
  2. 选择自己需要的target 构建、编译
# 进入 src 目录

cd src

# 设置临时的环境变量

set CHROMIUM_BUILDTOOLS_PATH=%cd%\buildtools

# 生成工程(Testing)

gn gen out/Testing --args="import(\"//electron/build/args/testing.gn\")"

# 生成工程(Release)

gn gen out/Release --args="import(\"//electron/build/args/release.gn\")"

# 生成工程(debug)

gn gen out/Debug --args="import(\"//electron/build/args/debug.gn\")"
# 编译 testing 版本

ninja -C out/Testing electron

注:部分版本chromium 已经将ninja 放在了third_party下,但是有些版本deps 中没有带,需要去高版本拷贝再sync使用

参考

  • https://github.com/electron/electron
  • https://www.electronjs.org/docs/latest/development/build-instructions-windows
  • https://github.com/electron/releases
  • https://blog.csdn.net/qq_27395289/article/details/110422777

你可能感兴趣的:(windows,electron,javascript)