4

移动开发的一个重要部分,尤其是当您谈论移动游戏时,就是处理应用程序大小的限制。一些设备强制执行自己的尺寸限制,而所有运营商都有自己的尺寸要求,以便在其平台空间中发布应用程序。

我的问题是,是否有一个 java 混淆应用程序比现有的其他 java 混淆应用程序获得更好的大小缩减结果?

我使用 Proguard 是因为它是默认的 Netbeans 混淆器,您可以从中获得相当好的尺寸缩减结果(顺便说一下,Netbeans 6.1 附带的 Proguard 版本是 3.7。有更新的版本可以获得更好的结果,我建议获取最新的)。但是,我对那里还有什么以及他们是否比 Proguard 做得更好感兴趣。

我的结论:

我很欣赏这些回应。Carlos,你的回答足以让我相信 Proguard 是当前的发展方向。否则我仍然可以相信,但不要对我目前的设置感到难过。

我也遇到了一些关于 proguard 混淆和在某些手机上运行的问题,但不是太多。我总是能够通过不使用 Proguard 参数“-overloadaggressively”来解决问题。如果您遇到与混淆相关的奇怪行为,请记住一些事情。

再次感谢。

4

3 回答 3

5

我也更喜欢 ProGuard,因为它的尺寸减小和混淆的广度 - 请参阅http://proguard.sourceforge.net/。除了下载速度之外,我不一定有大小限制,但没有发现任何进一步缩小的东西。

于 2008-09-18T14:56:09.117 回答
3

当谈到 J2ME 和混淆时,谨慎一点是值得的。Proguard 是最佳选择,因为它已经开发了多年,并且收到了许多错误修正。我记得 2.X 和 3.X 之间的版本转换以及它如何破坏了我(当时)雇主的许多构建。发生这种情况是因为一些能够节省更多大小的更改也在某些手机中以微妙的方式破坏了类文件,而在其他手机和桌面 JVM 上却完全正常。

如今,Proguard 3.11 是混淆器中最安全的选择。如果您不必支持非常旧的手机,4.XX 可能会很好。

于 2008-09-18T20:34:39.380 回答
2

奇怪的是,没有人记得 ProGuard 不仅可以缩小和混淆代码,还可以优化。最后一个版本允许指定多个通道进行优化(默认情况下只有一个通道),我可以指定,比如说,9 个通道。

在我反编译我的类后,我几乎认不出它们了,ProGuard 重组了很多方法调用。只需稍微调整一下这个出色的应用程序。所以我认为 ProGuard 是要走的路,只是别忘了稍微调整一下。它也有一个很好的手册

于 2008-12-13T11:57:10.230 回答