哪个订单? ProGuard + JWrapper + Launch4J

时间:2016-06-28 16:38:11

标签: java javafx proguard launch4j jwrapper

我知道StackOverflow旨在回答特定问题并避免主观意见。我觉得我的问题只有一个正确答案,所以我在这里发帖。

我已经创建了一个Java桌面应用程序(JavaFX),我打算将其分发用于商业用途。我已经读过Java代码很容易进行逆向工程,因此使用像ProGuard这样的东西进行混淆是至关重要的。我想打包我的应用程序,以便用户双击.exe(他们从我的网站下载),然后安装程序像任何标准软件一样运行。这似乎超出了ProGuard的范围,但我发现JWrapper和Launch4J似乎都提供了类似的功能。两者都声称将jars包装成Windows原生可执行文件,显示启动画面,包括JRE,但我对它们的不同之处感到困惑。

具体来说,我需要以下内容:

  • 安装向导(即将exe放置在安全的地方+在桌面上设置快捷方式,并在某处添加EULA)。
  • 添加指定用户限制的EULA(最终用户许可协议)
  • 应用程序的Web更新(JWrapper似乎使用URL +构建路径提供此功能)
  • 能够使用许可来保护应用程序(有点)(License3j似乎很有希望)。

他们的功能可以找到herehere,但只有JWrapper提到perform web updates的能力,并提到桌面快捷方式(我假设也可以在某处写一个EULA.txt)。 / p>

那么,在我编写完代码之后,应该使用ProGuard,JWrapper和Launch4j的顺序?我首先猜测ProGuard(缩小,优化和混淆),然后JWrapper然后启动Launch4j?或只有3个中的2个?

随意提出我可能缺少的其他方法,工具或概念。谢谢!

1 个答案:

答案 0 :(得分:1)

这个问题似乎超出了Stackoverflow的范围,但要回答它:

  1. 首先在您的应用程序上应用ProGuard,保留应用程序的主要方法
  2. 在ProGuard处理的jar上应用launch4j或jwrapper(由您自行选择)