2008-09-18 70 views
4

移动开发的重要组成部分,特别是当你在谈论手机游戏时,正在处理应用程序大小的限制。有些设备强制实施自己的尺寸限制,而所有运营商都有自己的尺寸要求,以便在甲板空间中发布应用。最好的Java混淆应用程序的尺寸减少

我的问题是,是否有一个Java混淆应用程序比其他的Java混淆应用程序有更好的尺寸缩小结果?

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

我的结论:

我很欣赏的答复。卡洛斯,你的回应足以说服我,Proguard是目前的路要走。否则我仍然可以相信,但是对于我目前的设置不会感觉不好。

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

再次感谢。

+0

@animuson这个问题不是题外话,你关闭它的原因是不准确的。它从尺寸减小的角度要求最好的模糊处理工具,它可以很容易地测量和证明。意见不起作用。 – Fostah 2013-07-26 18:10:37

回答

3

当涉及到J2ME和混淆时,它有点谨慎。 Proguard是最好的选择,因为它已经开发了多年,并且收到了很多错误修正。我记得2.X和3.X之间的版本转换,以及它如何打破我当时的许多雇主构建。发生这种情况是因为一些可以节省更多空间的更改也会在某些手持设备中以微妙的方式破坏类文件,而在其他设备和桌面JVM上则完美无瑕。

时下Proguard 3.11是混淆器中最安全的选择。如果你不需要支持非常旧的手机,那么4.XX可能很好。

5

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

2

奇怪的是,没有人记得ProGuard不能收缩和混淆代码,而是优化。最后的版本允许指定几次优化(默认情况下有一次优化),我可以指定例如9次。

当我反编译我的类时,我几乎无法识别它们,ProGuard重构了很多方法调用。它只需要调整这个美妙的应用程序。所以我认为ProGuard是最好的选择,不要忘记调整一下。它也有一个很好的manual