有一款应用的 win 平台程序包,想把它重新打包成 macOS 应用,网上找了写资料尝试后都失败了。 目前试过的方法是解压 asar 文件,然后用 npm run ****,可没一个能成功的。因为本人非程序员,实在无从下手。如果能打包成 macOS 应用的话,就省的开虚拟机了。 所以请教下这个能不能实现,或者有什么具体的方法
1
yang991178 2020-12-29 20:02:05 +08:00
解压 asar 然后 npm 全局安装 electron,直接命令行 electron xxx.js 试试能不能成
|
2
nieyujiang 2020-12-29 20:07:54 +08:00 via iPhone
理论上来说,app.asar 是可以跨平台执行的,但是不排除代码里面不适配或者写死路径啥的,还要看看有没有引入原生的模块啥的
|
3
KnightNic OP @yang991178 有空来试试
|
4
KnightNic OP @nieyujiang 有点复杂,看代码大学的时候说不定还能凑合点儿,现在估计不行了
|
5
narmgalaxy 2020-12-29 20:57:06 +08:00
一楼正解
|
6
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/ |
7
Midnight 2020-12-29 22:33:37 +08:00
直接这样移植是没用的,根本跑不起来
因为 Windows 和 macOS 很多地方都不一样,需要在 node 里做兼容处理,如果人家都没处理过,那么你怎么打包都无济于事 |
9
KnightNic OP @yang991178 试了下这个方法也可以呢🙏然后又发现直接 electron app.asar 也可以,只是跟 @DOLLOR 提供的方法一样,打开都会有个报错信息,但是后续使用正常。
|