请教 electron 解包与打包

2020-12-29 18:11:56 +08:00
 KnightNic

有一款应用的 win 平台程序包,想把它重新打包成 macOS 应用,网上找了写资料尝试后都失败了。 目前试过的方法是解压 asar 文件,然后用 npm run ****,可没一个能成功的。因为本人非程序员,实在无从下手。如果能打包成 macOS 应用的话,就省的开虚拟机了。 所以请教下这个能不能实现,或者有什么具体的方法

3109 次点击
所在节点    macOS
9 条回复
yang991178
2020-12-29 20:02:05 +08:00
解压 asar 然后 npm 全局安装 electron,直接命令行 electron xxx.js 试试能不能成
nieyujiang
2020-12-29 20:07:54 +08:00
理论上来说,app.asar 是可以跨平台执行的,但是不排除代码里面不适配或者写死路径啥的,还要看看有没有引入原生的模块啥的
KnightNic
2020-12-29 20:33:41 +08:00
@yang991178 有空来试试
KnightNic
2020-12-29 20:34:25 +08:00
@nieyujiang 有点复杂,看代码大学的时候说不定还能凑合点儿,现在估计不行了
narmgalaxy
2020-12-29 20:57:06 +08:00
一楼正解
DOLLOR
2020-12-29 22:05:53 +08:00
参考
https://www.electronjs.org/docs/tutorial/application-distribution#with-prebuilt-binaries

去下载预先编译好的二进制程序,把之前的 win 版 electron 程序里的
electron/resources/app
移动到 macOS 版相应的目录下
electron/Electron.app/Contents/Resources/app/
Midnight
2020-12-29 22:33:37 +08:00
直接这样移植是没用的,根本跑不起来
因为 Windows 和 macOS 很多地方都不一样,需要在 node 里做兼容处理,如果人家都没处理过,那么你怎么打包都无济于事
KnightNic
2020-12-30 01:24:11 +08:00
@DOLLOR 亲测可行,感谢🙏就是启动的时候有点报错,不过目前不影响使用😄
KnightNic
2020-12-31 13:56:13 +08:00
@yang991178 试了下这个方法也可以呢🙏然后又发现直接 electron app.asar 也可以,只是跟 @DOLLOR 提供的方法一样,打开都会有个报错信息,但是后续使用正常。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/740064

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX