【问题标题】:What is the best way to patch a Java app bundle on Mac OS X?在 Mac OS X 上修补 Java 应用程序包的最佳方法是什么?
【发布时间】:2018-07-07 15:49:08
【问题描述】:

我正在为 Linux、Windows 和 Mac 开发软件,并将软件分发到应用商店之外。该软件是数字签名的(当然),我在 Mac 上使用嵌入 jre 的应用程序包,在 Windows 上使用类似的解决方案(安装了 NSIS 和 launch4j 启动器)。到目前为止,我还没有找到更新/修补 Mac OS X 应用程序包的实用解决方案,我想知道,除了完全替换应用程序包之外,是否有任何解决方案可以解决这个问题。我读过关于 sparkle 的文章,但由于我不使用 XCode 而是使用 Java / Eclipse,所以很难让它工作。

有没有办法将已使用相同签名签名的另一个应用写入现有应用包?

【问题讨论】:

  • 你有没有设法以适当的方式解决这个问题?我面临同样的问题。我使用 javapackager 来创建 mac 包。在 Windows 上,我有两个可执行文件,第一个只是检查第二个是否需要更新并在需要时完全覆盖它。但在 mac 上,我找不到类似的解决方案。

标签: java macos patch auto-update


【解决方案1】:

我不知道有一种方法可以在 macOS 上自动更新/修补/切片签名 Java 应用程序包,而不用完全替换为更新版本。

理论上,您可以通过编写脚本替换适当的 JAR/文件/等来修补已签名的应用程序。然后更新应用包目录中的签名:

/Contents/_MASReceipt/

我自己没有尝试过,所以我没有太多其他东西可以提供,但它应该是可行的。

通用/替代信息:

如果这有帮助:通常,使 Java 应用程序与 macOS 很好地融合需要使用 XCode 的 JarBundler 和/或外部构建插件(使用 Ant 和/或 Maven)。如果您想了解有关这些内容的更多信息,请参阅以下参考资料。

听起来你可能已经知道这些东西,但也许对其他人阅读会有帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-13
    • 2010-09-07
    • 1970-01-01
    • 2012-11-08
    相关资源
    最近更新 更多