Electron如何在UOS操作系统(统信)下打包成桌面应用?

简介: Electron如何在UOS操作系统(统信)下打包成桌面应用?

1.前言


在UOS系统下,deb软件包是可以安装使用的,像linux安装包appimage是无法直接运行的。

这两天感觉掉进坑里了,项目基于Electron+react hooks,之前一般是打包成Windows下的.exe文件,双击启动就好了。

后面说要在linux下运行,于是安装虚拟机,安装linux的ubuntu系统,为啥这么搞呢,是因为在Windows系统下Electron不支持打包成linux…经过一点小坑后最终测试成功

结果后面又要求在统信操作系统(UOS国产操作系统)下运行,我寻思这不就是套壳linux嘛,于是就把之前测试的linux ubuntu下的文件拿过来寻思直接用,结果进了坑了,首先双击无法运行,命令行执行也毫无反应,再就是人家UOS系统也不支持我那个文件类型(appimage)…好在现在问题都解决了,特来总结。以下是经过各种坑后总结出来的直接有效的方法。

2.解决双击、点击、无法安装、无法运行程序的方法


先说一下哈,我这是linux系统的Appimage文件,思路是修改electron-builder的配置文件和package.json配置文件,如果你不会用Electron打包成linux的可以留言问我。

ff76865a296c48c0b1844378f7f242e4.gif

原因:


是因为UOS系统的安全策略,只需要两步:

第一,以管理员身份运行

第二,关闭沙盒(sandbox)即可

可以在终端输入以下命令

// 1,管理员身份运行
su root
//2.关闭沙盒
./你的文件名称 --no-sandbox

至此,他会自动打开软件。

小结:


其实现在想来这一步没啥用,毕竟不能让客户每次命令行输入,所以还是要把软件转换成符合UOS系统的软件,也就是Deb文件,这是一种可以直接安装的,也是交付给客户的最终文件,让他们自己安装就完事了。

3. 将appimage文件转为deb文件


说明一下,appimage文件是linux下的安装包,deb是UOS系统下的安装包,在UOS系统下,直接安装运行是无反应的,我们需要转换成deb软件包。如果你也要将项目交付给使用UOS系统的客户,只需要把这个deb软件包发给他们即可。

3.1 方法:


在UOS系统下,下载安装appimage2deb软件,然后按照下面图片的步骤即可。

3.2 下载appimg2Deb软件地址 :


地址:https://gitlab.com/dfc643/appimage2deb

将*.AppImage转为Debian软件包工具:Appimage2Deb的使用_Linux软件_云网牛站

image.gif

但是有一个小坑,生成的deb包的图标不是我想要的,如果要换的话,可以在UOS应用商店里搜索并安装一款名为appimage安装工具来替换图标。

当然还有一个一步到位的方法,这里就不得不提一下认识的一个老哥,ka鹿。他开发了一个插件,在Gitee上搜索UosPackageTool即可。感谢老哥帮助。

4.闭坑!Electron打包成deb文件


最开始我得想法是,先使用Electron将项目打包成deb然后再制作成符合UOS系统规范的包,简而言之,此方法费时费力,需要各种改配置,对比我上面说的方法,简直一把心酸泪……

相关实践学习
CentOS 7迁移Anolis OS 7
龙蜥操作系统Anolis OS的体验。Anolis OS 7生态上和依赖管理上保持跟CentOS 7.x兼容,一键式迁移脚本centos2anolis.py。本文为您介绍如何通过AOMS迁移工具实现CentOS 7.x到Anolis OS 7的迁移。
相关文章
|
25天前
|
资源调度 运维 JavaScript
使用electron创建桌面应用及常见打包错误解决
使用electron创建桌面应用及常见打包错误解决
179 3
|
2月前
|
缓存 JavaScript 前端开发
高效打造跨平台桌面应用:Electron加载服务器端JS
【9月更文挑战第17天】Electron 是一个基于 Chromium 和 Node.js 的开源框架,允许使用 HTML、CSS 和 JavaScript 构建跨平台桌面应用。加载服务器端 JS 可增强应用灵活性,实现代码复用、动态更新及实时通信。通过 HTTP 请求、WebSocket 或文件系统可实现加载,但需注意安全性、性能和兼容性问题。开发者应根据需求选择合适方法并谨慎实施。
117 3
|
24天前
|
前端开发 Unix Linux
揭秘 Electron 的 Linux 打包过程:你知道背后发生了什么吗?
本文详细介绍了 `electron-builder` 在 Linux 平台上如何打包 Electron 应用程序,涵盖了 AppImage、Flatpak、Snap 等多种格式的打包原理和具体实现。文章从初始化 `LinuxPackager` 到创建各种目标格式的包,详细解析了每个步骤的代码逻辑和关键方法,帮助开发者更好地理解和使用 `electron-builder` 进行 Linux 应用的打包。
57 2
揭秘 Electron 的 Linux 打包过程:你知道背后发生了什么吗?
|
5月前
|
资源调度 JavaScript 前端开发
IM跨平台技术学习(十一):环信基于Electron打包Web IM桌面端的技术实践
这次借着论证 Web IM端 SDK 是否可以在 Electron 生成的桌面端正常稳定使用,我决定把官方新推出的 webim-vue3-demo,打包到桌面端,并记录了这次验证的过程以及所遇到的问题和解决方法。
91 2
|
1月前
|
安全 前端开发 iOS开发
揭秘 electron-builder:macOS 应用打包背后到底发生了什么?
本文详细介绍了 Electron 应用在 macOS 平台上的打包流程,涵盖配置文件、打包步骤、签名及 notarization 等关键环节。通过剖析 `electron-builder` 的源码,展示了如何处理多架构应用、执行签名,并解决常见问题。适合希望深入了解 macOS 打包细节的开发者。
39 2
|
24天前
|
开发框架 JavaScript 前端开发
Electron技术深度解析:构建跨平台桌面应用的利器
【10月更文挑战第13天】Electron技术深度解析:构建跨平台桌面应用的利器
131 0
|
24天前
|
XML 缓存 前端开发
Electron-builder 是如何打包 Windows 应用的?
本文首发于微信公众号“前端徐徐”,作者徐徐深入解析了 electron-builder 在 Windows 平台上的打包流程。文章详细介绍了 `winPackager.ts`、`AppxTarget.ts`、`MsiTarget.ts` 和 `NsisTarget.ts` 等核心文件,涵盖了目标创建、图标处理、代码签名、资源编辑、应用签名、性能优化等内容,并分别讲解了 AppX/MSIX、MSI 和 NSIS 安装程序的生成过程。通过这些内容,读者可以更好地理解和使用 electron-builder 进行 Windows 应用的打包和发布。
94 0
|
3月前
|
容器 iOS开发 Linux
震惊!Uno Platform 响应式 UI 构建秘籍大公开!从布局容器到自适应设计,带你轻松打造跨平台完美界面
【8月更文挑战第31天】Uno Platform 是一款强大的跨平台应用开发框架,支持 Web、桌面(Windows、macOS、Linux)及移动(iOS、Android)等平台,仅需单一代码库。本文分享了四个构建响应式用户界面的最佳实践:利用布局容器(如 Grid)适配不同屏幕尺寸;采用自适应布局调整 UI;使用媒体查询定制样式;遵循响应式设计原则确保 UI 元素自适应调整。通过这些方法,开发者可以为用户提供一致且优秀的多设备体验。
119 0
|
3月前
|
前端开发 JavaScript API
强强联手打造桌面应用新标杆:Angular与Electron的完美融合——从环境搭建到通信机制,全面解析构建跨平台应用的最佳实践与技巧
【8月更文挑战第31天】随着Web技术的进步,开发者们越来越多地采用Web技术来构建桌面应用程序。通过结合使用开源框架Electron及前沿的前端框架Angular,开发者能充分利用JavaScript、HTML和CSS打造出高性能且易维护的跨平台桌面应用。本文将详细介绍如何搭建基于Angular与Electron的开发环境,包括创建Angular项目、安装Electron及相关依赖、配置Electron主进程以及实现Angular应用与Electron间的通信等关键步骤,并最终将应用打包成多平台可执行文件,为读者提供了一套完整的解决方案以快速入门并实践这一强大技术组合。
86 0
|
3月前
|
iOS开发 MacOS Python
Electron Mac 打包报 Error: Exit code: ENOENT. spawn /usr/bin/python ENOENT 解决方法
Electron Mac 打包报 Error: Exit code: ENOENT. spawn /usr/bin/python ENOENT 解决方法
下一篇
无影云桌面