想让 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 软件目录如下进入 resources 文件夹里面放着 app 文件夹或 .asar 文件- app 文件夹示例- asar 文件最常见Electron 软件果 app 文件夹 或 .asar 文件核 Electron 框架壳2. 判断 Electron 版本Electron 版本众多且存在较多破坏性更改因此选择合适的版本非常重要。我们可以用 ImHex 来查询 Electron 版本。- 在 deepin 应用商店搜索下载 ImHex- 将 .exe 文件拖进 ImHex使用 Ctrlf 调用搜索找到关键词“Electron v”即可知道版本。所用版本是 v28.3.33. 下载对应版本的 Electron 框架- 转至 Github Electron 项目并点击“Releases” 项目地址https://github.com/electron/electron- 搜索目标版本并下载- 解压到桌面注意要创建文件夹防止桌面变乱解压目录/home/用户名/Desktop/xyz - amd644. 移动 app 文件夹或 .asar 文件将 app 文件夹或 .asar 文件移动至步骤 3 解压目录的 resources 文件夹中。- 如果是 app 文件夹先压缩再移动由于 app 文件夹小文件多直接移动要花大量时间压缩移动再解压反而省时。- 如果是 .asar 文件直接移动即可- 移动完成删除 default_app.asar 文件防止冲突:5. 启动软件- 返回上一级启动 electron 二进制文件稍等一会软件界面出现在眼前软件顺利运行体验时软件功能完整流畅度跟 Windows 版别无二致。6. 打包、安装 deb 包- 按照 deepin 标准将移植的软件打包成 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 版- 龙芯版则要到龙芯开源社区下载地址https://ftp.loongnix.cn/electron/LoongArch/3. 如何获取软件图标可用“採图标”软件获取 exe 软件图标。- 到 deepin 应用商店搜索并下载“採图标”- 将 .exe 文件拖进软件中然后等待由于 .exe 文件较大软件读取图标需要一些时间。- 点“批量导出”选“确定”并放置在桌面上- 打开目录图标文件就出现了以上就是在 deepin 操作系统上进行 Electron 软件迁移的完整思路。值得注意的是该方法并不仅限于 deepin它利用 Electron 跨平台运行的本质将 Windows 版本的资源包提取出来搭配对应架构和版本的 Electron 二进制文件即可原生运行。因此也同样适用于主流 Linux 发行版用户可以按照上述步骤轻松完成迁移为 Linux 生态贡献一份力量。