当前位置:
从 Windows 到 deepin:Electron 软件无损移植实战

从 Windows 到 deepin:Electron 软件无损移植实战

2026-05-27 08:10
二维码
19
从Windows到deepin:Electron软件无损移植实战 | 技术分享

从 Windows 到 deepin:Electron 软件无损移植实战

为了降本增效,许多企业采用 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 releases

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

  • 搜索目标版本并下载:

下载版本版本列表
  • 解压到桌面(注意要创建文件夹防止桌面变乱):

解压

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

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

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

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

压缩移动

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

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

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

删除default

5. 启动软件

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

启动electron

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

运行界面
顺利运行!

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

功能演示

6. 打包、安装 deb包

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

deepin 标准的 deb 包结构
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

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

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

批量导出导出确定
  • 打开目录,图标文件就出现了:

图标结果

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

若你在移植过程中遇到任何问题,欢迎前往deepin论坛与我们的作者 @米饭虚拟机 交流!也欢迎参与应用投递,投递方式参见:应用商店 | 你的应用,值得被千万用户看见!

deepin 作为在 DistroWatch 全球排名中表现亮眼、广受全球用户认可的开源操作系统,诚邀所有热爱开源的朋友,加入我们的 deepin 共建队伍,无论你是技术大牛,还是刚入门的技术爱好者,只要你认同开源精神,愿意为 Linux 生态贡献一份力量,这里都有你的一席之地。

🧠 内容总结 · 思维导图

📦 核心原理
  • Electron = 框架壳 + app资源(asar/文件夹)
  • 提取Win资源 + Linux Electron原生运行
🛠️ 迁移步骤
  • ① 分析结构&版本 (ImHex)
  • ② 下载同版本Electron
  • ③ 移动app.asar至resources
  • ④ 启动electron二进制
  • ⑤ 打包deb安装
🐞 常见问题修复
  • asar拆包改源码
  • ARM/龙芯换对应框架
  • “採图标”提取exe图标
🌍 通用性&共建
  • 全Linux发行版适用
  • deepin 25+ / Ubuntu / 龙芯
  • 应用商店投递 / 社区贡献
💬 读者评论 · 技术交流
© deepin 技术分享 | 从 Windows 到 deepin:Electron 软件无损移植实战 | 遵循开源精神
昵称:
内容:
验证码:
提交评论
评论一下
推荐文章 更多

共747页

到第 页

当前位置:
从 Windows 到 deepin:Electron 软件无损移植实战
电话
13360508085
微信
微信
1336508085
在线
人工
在线客服系统