VPN非常注意:

  编译的过程需要使用VPN, 否者chromium的源代码无法下载, 后面会出现总总问题

  Electron的编译环境, 推荐使用物理机:

  win10 64位 英文版, 为了避免后期出现编译文件, 推荐使用64为的win10

  node-v6.11.0-x64, node版本最好在6.x, 高版本的可能编译不成功

  python-2.7.10.amd64, python要求版本2.7.10 , 版本不要太高

  Git, 使用最新版本即可

  vs 2017 community,vs2017  V15.6.7是在线安装, 没法用离线安装包安装, 安装VS的时候要注意把有关c++的安装选项的都选上(visual studio 2017 16.7系列, vs的bug, 否则编译webrtc的时候会报错, 参考:installing-an-earlier-release-of-vs2017

下载electron源码

  打开gitbash,或者bash for window ,执行以下代码(请勿使用cmd执行命令, 会出各种问题)

  下载electron源码:

$ git clone https://github.com/electron/electron.git

  清理构建文件:

npm run clean

  清理 out 和 dist 目录:

npm run clean-build

  更新electron源码,并下载libchromium源码

  注意默认情况下不会以 shared_library 方式编译, 所以你如果使用"--build_release_libcc"参数的话, 只能编译 Electron的 Release 版本, 网速10M的话, 这一步需要半天到一天的时间, 要非常久:

./script/bootstrap.py -v --build_release_libcc

  修改源码的isTrusted, 默认为true

  编译electron的Release版本

./script/build.py -c R

  编译后的文件会出现在 electron\dist\R 目录下,而且编译出来的文件夹大小有1.3G,非常大

  最后再用create-dist.py 打包发行版的electron:

./script/create-dist.py --chromium_dir D:\\compile\\electron\\vendor\\libchromiumcontent\\dist\\main\\static_library

参考:

  installing-an-earlier-release-of-vs2017

  electron libchromiumcontent issue

  How do I link a custom compiled libchromiumcontent with Electron?

  how-to-submit-a-chromium-patch-to-libchromiumcontent.html

  -how-do-you-make-a-patch-to-libchromium-content

  https://bugzilla.mozilla.org/show_bug.cgi?id=1458247

作者: NONO
出处:http://www.cnblogs.com/diligenceday/

企业网站:http://www.idrwl.com/
开源博客:http://www.github.com/sqqihao
QQ:287101329

微信:18101055830

修改Electron的libcc(libchromiumcontent)源码,重新编译electron, 设置event.isTrusted为true的更多相关文章

  1. Android : 修改内核源码 and 编译、打包成新的boot.img

    一.Android内核源码的下载: 1.Google GIT地址: $ git clone https://android.googlesource.com/kernel/common.git $ g ...

  2. net-snmp源码VS2013编译添加加密支持(OpenSSL)

    net-snmp源码VS2013编译添加加密支持(OpenSSL) snmp v3 协议使用了基于用户的安全模型,具有认证和加密两个模块. 认证使用的算法是一般的消息摘要算法,例如MD5/SHA等.这 ...

  3. net-snmp源码VS2013编译添加加密支持(OpenSSL)(在VS里配置编译OpenSSL)

    net-snmp源码VS2013编译添加加密支持(OpenSSL) snmp v3 协议使用了基于用户的安全模型,具有认证和加密两个模块. 认证使用的算法是一般的消息摘要算法,例如MD5/SHA等.这 ...

  4. Hadoop2.x源码-编译剖析

    1.概述 最近,有小伙伴涉及到源码编译.然而,在编译期间也是遇到各种坑,在求助于搜索引擎,技术博客,也是难以解决自身所遇到的问题.笔者在被询问多次的情况下,今天打算为大家来写一篇文章来剖析下编译的细节 ...

  5. 使用 IntelliJ IDEA 导入 Spark 最新源码及编译 Spark 源代码

    前言   其实啊,无论你是初学者还是具备了有一定spark编程经验,都需要对spark源码足够重视起来. 本人,肺腑之己见,想要成为大数据的大牛和顶尖专家,多结合源码和操练编程. 准备工作 1.sca ...

  6. 【Android 系统开发】CyanogenMod 13.0 源码下载 编译 ROM 制作 ( 手机平台 : 小米4 | 编译平台 : Ubuntu 14.04 LTS 虚拟机)

                 分类: Android 系统开发(5)                                              作者同类文章X 版权声明:本文为博主原创文章 ...

  7. 一个普通的 Zepto 源码分析(三) - event 模块

    一个普通的 Zepto 源码分析(三) - event 模块 普通的路人,普通地瞧.分析时使用的是目前最新 1.2.0 版本. Zepto 可以由许多模块组成,默认包含的模块有 zepto 核心模块, ...

  8. MySQL源码包编译安装

    +++++++++++++++++++++++++++++++++++++++++++标题:MySQL数据库实力部署时间:2019年3月9日内容:MySQL源码包进行编译,然后部署MySQL单实例重点 ...

  9. 使用 IntelliJ IDEA 导入 Spark 最新源码及编译 Spark 源代码(博主强烈推荐)

    前言   其实啊,无论你是初学者还是具备了有一定spark编程经验,都需要对spark源码足够重视起来. 本人,肺腑之己见,想要成为大数据的大牛和顶尖专家,多结合源码和操练编程. 准备工作 1.sca ...

随机推荐

  1. Codeforces 1071C Triple Flips 构造

    原文链接 https://www.cnblogs.com/zhouzhendong/p/CF1071C.html 题目传送门 - CF1071C 题意 给定一个长度为 n 的 01 数列,限定你在 $ ...

  2. maven私服nexus(三)

    将项目中的第三方jar包上传至maven私服中 上传jar包到maven私服 在你使用的maven配置文件settings中加上如下信息 代表你访问的账号密码 <servers> < ...

  3. python面试题之如何用Python输出一个斐波那契数列

    so eary! 1 a,b = 0, 1 2 while b<100: 3 print (b), 4 a, b = b, a+b 本文转载自:python黑洞网 原文链接:http://www ...

  4. TensorFlow激活函数+归一化-函数

    激活函数的作用如下-引用<TensorFlow实践>: 这些函数与其他层的输出联合使用可以生成特征图.他们用于对某些运算的结果进行平滑或者微分.其目标是为神经网络引入非线性.曲线能够刻画出 ...

  5. Python dictionary 字典 常用法

    Python dictionary 字典 常用法 d = {} d.has_key(key_in)       # if has the key of key_in d.keys()          ...

  6. 电信项目java补充类

    一.DecimalFormat 1.概述 public class DecimalFormat extends NumberFormat DecimalFormat是格式为十进制数的NumberFor ...

  7. 003.MySQL高可用主从复制新增slave

    一 基础环境 主机名 系统版本 MySQL版本 主机IP master CentOS 6.8 MySQL 5.6 172.24.8.10 slave01 CentOS 6.8 MySQL 5.6 17 ...

  8. tar 打包压缩

    tar命令详解 -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用 ...

  9. GIL锁、进程池与线程池

    1.什么是GIL? 官方解释: ''' In CPython, the global interpreter lock, or GIL, is a mutex that prevents multip ...

  10. javascript中6种基本数据类型详解

    javascript中有5中数据类型(也称为基本数据类型):Undefined.Null.Boolean.Number和String,还有一种复杂数据类型——object,object本质是由一组键值 ...