我主要對混淆能力感興趣。我只看到混淆是可能的:stackoverflow.com/questions/6633411/android-proguard-only-obfuscationProguard混淆而不收縮或優化
這比混合縮小和優化時使用的混淆程度要低一些,如果是這樣,那麼安全性會降低多少。
也將消除縮小和優化使應用程序更可能通過其測試集,並且不太可能有異常?包括這些步驟的「+」和「 - 」是什麼?
我主要對混淆能力感興趣。我只看到混淆是可能的:stackoverflow.com/questions/6633411/android-proguard-only-obfuscationProguard混淆而不收縮或優化
這比混合縮小和優化時使用的混淆程度要低一些,如果是這樣,那麼安全性會降低多少。
也將消除縮小和優化使應用程序更可能通過其測試集,並且不太可能有異常?包括這些步驟的「+」和「 - 」是什麼?
收縮和優化根本不會影響正確性;你的程序將完全正確地工作。實際上,Proguard可能引入錯誤的唯一方法是混淆反射的某些方面,而這將歸因於混淆,而不是縮減或優化。
如果您要求縮小和優化更改罐的尺寸,請查看http://proguard.sourceforge.net/#results.html以瞭解樣本統計信息。
當然收縮可以影響你的代碼的正確性。例如,如果你在一個XML佈局像一個行設置函數clickhandler:
android:onClick="myClickHandler"
那麼除非你明確地告訴ProGuard保持的代碼,它會被啓用時縮水刪除它。直到運行時單擊/觸摸該小部件時,此錯誤纔會顯示。
將消除縮小和優化使代碼大大減少混淆? – 2012-04-12 19:53:00
...可能,是的。在收縮和優化之後,反編譯一定會更困難,因爲ProGuard不限於只能使用有效Java構建的字節碼結構。 – 2012-04-12 21:33:44