常用 Switch 的朋友,可能知道有一个工具叫 ns-usbloader,github 地址:https://github.com/developersu/ns-usbloader
因作者仅提供了 jar 运行方式,无法在启动菜单留存,使用略有不便,于是就自己打个包套个壳。
适用于所有 Java 环境下双击 jar 就能运行的程序。示例:
jpackage \
--name NS-USBloader \
--input ./jar \
--main-jar ns-usbloader-7.2-m1.jar \
--type dmg \
--dest ../ \
--icon ./app.icns \
--app-version 7.2 \
--jlink-options "--strip-debug --compress=2 --no-header-files --no-man-pages"
可编辑的部分:
--name 应用程序名
--input jar 所在位置,打包时会将该文件夹内所有文件打包
--main-jar jar 文件名
--type dmg 打包为 dmg,当然也可以是 app-image 等其他
--dest 输出目录位置
--icon 图标位置,MacOS 的图标格式为 icns
--app-version 版本号
--jlink-options 本来是想精简下成包体积,但 DMG 特有的压缩算法,只能图个安慰
由于 jpackage 会默认打包完整的 jre ,好处不用配置环境,坏处文件体积略大,尝试了自打包,解包再打包,总而言之,言而总之,jpackage 自带的打包算法已经是最优。
关于生成的 APP:可在 NS-USBloader.app/Contents/app 中找到 Jar 对比 github 上的原文件。此外,文件结构应清晰明了无多余文件:
/Applications/NS-USBloader.app ❯ tree -L 3
.
└── Contents
├── Info.plist
├── MacOS
│ └── NS-USBloader
├── PkgInfo
├── Resources
│ └── NS-USBloader.icns
├── _CodeSignature
│ └── CodeResources
├── app
│ ├── NS-USBloader.cfg
│ └── ns-usbloader-7.2-m1.jar
└── runtime
└── Contents
8 directories, 7 files
包括生成的安装器,也是精细布局过的,倒是有点不像 Java 的风格。

打包的 NS-USBloader-7.2.dmg 也分享一下,也许有朋友用得着。
下载地址
链接: https://pan.baidu.com/s/1iMjTJ3An1jxU243OR3wzww 提取码: ts9f
免责声明:请勿从其他地方获取该安装器,因此遭遇的风险自行承担,图标资源来自 GPT 自动生成。
以上。
本站广告由 Google AdSense 提供
0条评论