有一款应用的 win 平台程序包,想把它重新打包成 macOS 应用,网上找了写资料尝试后都失败了。 目前试过的方法是解压 asar 文件,然后用 npm run ****,可没一个能成功的。因为本人非程序员,实在无从下手。如果能打包成 macOS 应用的话,就省的开虚拟机了。 所以请教下这个能不能实现,或者有什么具体的方法
有一款应用的 win 平台程序包,想把它重新打包成 macOS 应用,网上找了写资料尝试后都失败了。 目前试过的方法是解压 asar 文件,然后用 npm run ****,可没一个能成功的。因为本人非程序员,实在无从下手。如果能打包成 macOS 应用的话,就省的开虚拟机了。 所以请教下这个能不能实现,或者有什么具体的方法
|
yang991178Dec 29, 2020
1
解压 asar 然后 npm 全局安装 electron,直接命令行 electron xxx.js 试试能不能成
|
|
ZeoKarlDec 29, 2020 via iPhone
2
理论上来说,app.asar 是可以跨平台执行的,但是不排除代码里面不适配或者写死路径啥的,还要看看有没有引入原生的模块啥的
|
|
3
@yang991178 有空来试试
|
|
4
@nieyujiang 有点复杂,看代码大学的时候说不定还能凑合点儿,现在估计不行了
|
|
narmgalaxyDec 29, 2020
5
一楼正解
|
|
AV1Dec 29, 2020
6
参考
https://www.electronjs.org/docs/tutorial/application-distribution#with-prebuilt-binaries 去下载预先编译好的二进制程序,把之前的 win 版 electron 程序里的 electron/resources/app 移动到 macOS 版相应的目录下 electron/Electron.app/Contents/Resources/app/ |
|
MidnightDec 29, 2020
7
直接这样移植是没用的,根本跑不起来
因为 Windows 和 macOS 很多地方都不一样,需要在 node 里做兼容处理,如果人家都没处理过,那么你怎么打包都无济于事 |
|
9
@yang991178 试了下这个方法也可以呢🙏然后又发现直接 electron app.asar 也可以,只是跟 @DOLLOR 提供的方法一样,打开都会有个报错信息,但是后续使用正常。
|