electron源码下载及编译

参考文档: 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

百家云-开发文档

相关推荐
EasyCVR1 分钟前
视频汇聚平台EasyCVR赋能石油管道计量站精准监控与安全管理
安全·音视频
赖small强9 小时前
【ZeroRang WebRTC】WebRTC 信令与传输的安全层解析:WSS、DTLS、SRTP
webrtc·sctp·wss·dtls·srtp
4***997410 小时前
React音频处理案例
前端·react.js·音视频
柒儿吖14 小时前
Electron for 鸿蒙PC - Webpack PublicPath 动态设置完整方案
webpack·electron·harmonyos
EasyCVR15 小时前
视频汇聚平台EasyCVR打造阳光药房远程可视化智慧监管体系
音视频
别动哪条鱼15 小时前
MP4转AAC转换器C++
c++·ffmpeg·音视频·aac
大模型实验室Lab4AI16 小时前
从帧到世界:面向世界模型的长视频生成
音视频
aqi0021 小时前
FFmpeg开发笔记(九十一)基于Kotlin的Android直播开源框架RootEncoder
android·ffmpeg·kotlin·音视频·直播·流媒体
●VON1 天前
Electron 与鸿蒙 DevEco Studio 的融合实战:从 WebView 到安全 IPC 架构迁移指南
安全·electron
●VON1 天前
Electron 架构解剖:Chromium + Node.js 如何协同工作
架构·electron·node.js