【信创-Vue】Electron 跨平台交叉编译适配龙芯/飞腾/海光/兆芯+UOS/麒麟V10
https://cloud.tencent.com/developer/article/2520174
环境涉及软件版本信息
- 本地打包环境:i5 amd64 ubuntu虚拟机
- 适配芯片-arm: 飞腾D2000、鲲鹏920
- 适配芯片-mips: 龙芯3A4000及以前
- 适配芯片-x86: 海光、兆芯、interl、amd
- 操作系统1:麒麟 V10
- 操作系统2:UOS
声明
- 以下文档内容主要为3年多以前整理,最近3年未做electron相关开发也未进行再次验证。
- 本次发表时对文档格式和内容进行了微调
- 使用时建议先到具体环境打包,再进行跨平台打包验证。
本地环境搭建
安装nodejs环境

全局安装 electron-packager
sudo npm install --save-dev -g electron-packager
修改跨平台交叉编译版本
这里主要以龙芯架构为例,飞腾arm64官网有适配相对简单的多
修改packager中版本信息
修改electron-packager中mips64el版本为6.1.7或者10.1.0
sudo vim /usr/local/lib/node_modules/electron-packager/src/targets.js或者
sudo vim /usr/lib/node_modules/electron-packager/src/targets.js

修改electron版本
修改项目根目录下package.json中的electron版本为6.1.7或者10.1.0。如果要打包飞腾arm64架构不需要修改,具体可使用的版本请参考:
龙芯社区[1]

Electron 打包
下载依赖
npm install electron@6.1.7或者npm install electron@10.1.0

由于github没有对应10.1.0linux版本包,会安装失败

此处不用理会
配置electron临时环境变量
- 龙芯架构
export ELECTRON_MIRROR=http://ftp.loongnix.cn/os/loongnix/1.0/electron/releases/download/
- 飞腾架构
export ELECTRON_MIRROR=https://mirrors.huaweicloud.com/electron/

预打包
预打包主要为了生成dist目录下的入口js文件,如果不执行可能会导致electron-packager打包后只有开发者工具,没有用户操作页面

打包-交叉编译
打包命令
- 龙芯3A4000及之前架构
ectron-packager . --arch=mips64el
- 飞腾/鲲鹏 arm64 架构
electron-packager . --arch=arm64
- intel/海光/兆芯 架构
electron-packager .

飞腾架构
electron使用代码本身版本7.1.4

龙芯架构
如果是龙芯+UOS系统,使用mips64el对应的包,可直接运行***Gateway

龙芯+麒麟V10
注意:这里需要特殊处理
需要给予***Gateway 和chrome-sandbox4755权限
chmod 4755 ***Gateway
chmod 4755 chrome-sandbox
并且修改chrome-sandbox所属用户为root
sudo chown root chrome-sandbox

运行测试
进入Gateway-linux-架构目录,双击或命令行运行*Gateway

引用链接
[1]
龙芯开源社区: http://ftp.loongnix.cn/os/loongnix/1.0/electron/releases/download/

浙公网安备 33010602011771号