想让 Electron 软件在 Linux 原生运行?提取 Windows 资源包就能搞定!

深度揭秘:如何将 Windows 版 Electron 软件迁移至 Linux 并原生运行?

为了降本增效,许多企业采用 Electron 框架开发软件。

Electron 框架具有跨平台特性,理论上,开发一次就能适配 Windows、MacOS 和 Linux 三个平台。然而在现实中,很多软件仅适配了 Windows 和 MacOS。对于日常使用 deepin 等 Linux 的用户而言,需要花时间配置 Wine 来运行。

有没有办法让 Electron 软件原生运行呢?答案是肯定的,提取 Windows 版本的资源包搬到 Linux 上运行即可!

deepin 资深用户 @米饭虚拟机 以《PDF 切题工具 v2.4》为例,展示了在 deepin 25 上迁移 Electron 软件到 Linux 的思路。

一、迁移全攻略

1. 分析 Electron 结构

Electron 软件目录如下:

Electron 软件目录

进入 resources 文件夹,里面放着 app 文件夹或 .asar 文件:

- app 文件夹(示例)

app 文件夹

- asar 文件(最常见)

asar 文件

Electron 软件(果) = app 文件夹 或 .asar 文件(核) + Electron 框架(壳)

2. 判断 Electron 版本

Electron 版本众多,且存在较多破坏性更改,因此选择合适的版本非常重要。我们可以用 ImHex 来查询 Electron 版本。

- 在 deepin 应用商店搜索下载 ImHex:

ImHex 下载

- 将 .exe 文件拖进 ImHex,使用 Ctrl+f 调用搜索,找到关键词“Electron v”,即可知道版本。所用版本是 v28.3.3

查询版本

3. 下载对应版本的 Electron 框架

- 转至 Github Electron 项目,并点击“Releases” :

Github 项目

项目地址:https://github.com/electron/electron

- 搜索目标版本并下载:

搜索下载

下载

- 解压到桌面(注意要创建文件夹防止桌面变乱):

解压

解压目录:/home/用户名/Desktop/xyz - amd64

4. 移动 app 文件夹或 .asar 文件

将 app 文件夹或 .asar 文件移动至步骤 3 解压目录的 resources 文件夹中。

- 如果是 app 文件夹,先压缩再移动:

压缩 app 文件夹

由于 app 文件夹小文件多,直接移动要花大量时间,压缩移动再解压反而省时。

- 如果是 .asar 文件,直接移动即可:

移动 asar 文件

- 移动完成,删除 default_app.asar 文件(防止冲突):

删除文件

5. 启动软件

- 返回上一级,启动 electron 二进制文件:

启动文件

稍等一会,软件界面出现在眼前:

软件界面

软件顺利运行!

体验时,软件功能完整,流畅度跟 Windows 版别无二致。

软件体验

6. 打包、安装 deb 包

- 按照 deepin 标准,将移植的软件打包成 deb 包:

deb 包结构

封包中......

封包

- 安装打好的 deb 包:

安装中,稍安勿躁……

安装

- 成功启动!

启动

移植成功!

二、常见问题

1. 软件运行不起来怎么办?

软件无法启动,说明软件源码有问题。右键终端执行命令看看报错,知道报错原因后,用 asar 工具拆包。需要安装 Node.js 和 asar 模块才能拆包(安装方法可自行问 AI)。

右键终端,在 resources 目录执行 asar 拆包命令:

asar e app.asar ./app

这样就能改源码,针对性修 bug 了。

修好后仍用 asar 命令封包:

asar p ./app app.asar

终端重新执行启动命令,软件即可正常启动。

2. 怎么向 ARM 和 龙芯移植?

把资源文件放进 arm64 版和龙芯版的 Electron 框架就行。

- Release 的 Assets 中有 arm64 版:

arm64 版

- 龙芯版则要到龙芯开源社区下载:

龙芯版

地址:https://ftp.loongnix.cn/electron/LoongArch/

3. 如何获取软件图标?

可用“採图标”软件获取 exe 软件图标。

- 到 deepin 应用商店搜索并下载“採图标”:

下载软件

- 将 .exe 文件拖进软件中,然后等待:

拖入文件

由于 .exe 文件较大,软件读取图标需要一些时间。

- 点“批量导出”,选“确定”并放置在桌面上:

导出图标

放置图标

- 打开目录,图标文件就出现了:

图标文件

以上就是在 deepin 操作系统上进行 Electron 软件迁移的完整思路。值得注意的是,该方法并不仅限于 deepin,它利用 Electron 跨平台运行的本质,将 Windows 版本的资源包提取出来,搭配对应架构和版本的 Electron 二进制文件即可原生运行。因此,也同样适用于主流 Linux 发行版,用户可以按照上述步骤轻松完成迁移,为 Linux 生态贡献一份力量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值