我主要对混淆能力感兴趣。我只看到混淆是可能的: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