我了解 StackOverflow 旨在回答特定问题并避免主观意见。我觉得我的问题只有一个正确答案,因此我在这里发帖。
我创建了一个 Java 桌面应用程序 (JavaFX),我计划将其分发用于商业用途。我读过 Java 代码很容易进行逆向工程,因此使用 ProGuard 之类的东西进行混淆至关重要。我想打包我的应用程序,以便用户双击 .exe(他们从我的站点下载),然后像任何标准软件一样运行安装程序。这似乎超出了 ProGuard 的范围,但我发现 JWrapper 和 Launch4J 似乎都提供了类似的功能。两者都声称将 jar 包装到 Windows 本机可执行文件中,显示启动画面,包括 JRE,但我对它们的不同之处感到困惑。
具体来说,我需要以下内容:
- 安装向导(即将exe放置在安全的地方+在桌面上制作快捷方式,并在某处添加EULA)。
- 添加指定用户限制的 EULA(最终用户许可协议)
- 应用程序的 Web 更新(JWrapper 似乎使用 URL + 构建路径提供此功能)
- 使用许可(License3j 似乎很有希望)来保护应用程序(在某种程度上)的能力。
他们的功能可以在这里和这里找到,但只有 JWrapper 提到了执行 Web 更新的能力并提到了桌面快捷方式(我假设它也可以在某处编写 EULA.txt)。
那么,在我写完代码之后,ProGuard、JWrapper 和 Launch4j 应该按什么顺序应用呢?我猜先是 ProGuard(缩小、优化和混淆),然后是 JWrapper,然后是 Launch4j?还是只有 3 个中的 2 个?
也可以随意提出我可能遗漏的其他方法、工具或概念。谢谢!