参考文档: cWin10 编译Electron源码_electron 源码编译-CSDN博客
环境准备
depot_tools vs2017就绪 nodejs python就绪 要求能编译webrtc
网络要使用魔法,自行解决
环境变量设置:
DEPOT_TOOLS_WIN_TOOLCHAIN=0
GIT_CACHE_PATH=D:\.git_cache:用于 git 缓存目录,很有必要设置, 因为后面拉取代码量很大、时间很长,中途中断可能性很高,此时缓存的存在就相当救命了
DEPOT_TOOLS_DIR=D:\<..>\electron\depot_tools
下载
1. mkdir electron_src && cd electron_src
2. gclient config --name "src/electron" --unmanaged https://github.com/electron/electron@v18.3.5
如果想要下载其他版本electron,请自行修改版本
切忌:v18.3.5 别漏掉v
electron_src目录下会生成 .gclient
3. gclient sync --with_branch_heads --with_tags 失败继续来
进行到syncing projects 14%(1/7) src/electron就不动了,有2个小时一直不动 应该再等时间长点的,因为使用build-tools工具也存在3小时没有带宽消耗,
不知道与这个是否有关系,后来确认没有关系
一个重要报错的修改, 不然最后会一直下载不下来,最开始失败的时候,也更改electron提供的build-tools工具库下载,结果也是这个错误
failed to resolve gn/gn/windows-amd64@git_revision:c8fd5192873a1d62f44 (line 5): prpc: sending request: Post "https://chrome-infra-packages.appspot.com/prpc/cipd.Repository/ResolveVersion": proxyconnect tcp: EOF
解决办法:
代理设置需要修改一下
set https_proxy=http://localhost:33210 注意:http://localhost:33210 是http 不是https 端口是自己vpn的端口
编译:
$ gn gen out/Release --args="import(\"//electron/build/args/release.gn\")"
$ ninja -C out/Release electron
打包
将编译后的electron压缩成可分发的zip包:
$ ninja -C out/Release electron:electron_dist_zip
后续会更新在mac上下载编译electron源码
百家云brtc sdk支持全平台,当然也支持electron, electron sdk中的webrtc已经针对性地做了优化,有兴趣的可以查看百家云brtc sdk