2008-09-18 71 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