我主要对混淆能力感兴趣。我看到只有混淆是可能的:stackoverflow.com/questions/6633411/android-proguard-only-obfuscation
这是否比与收缩和优化结合使用时更容易混淆,如果是这样的话,安全性会降低多少。
消除收缩和优化也会使应用程序更有可能通过其测试集,并且不太可能出现异常吗?包括这些步骤的 + 和 - 是什么?
我主要对混淆能力感兴趣。我看到只有混淆是可能的:stackoverflow.com/questions/6633411/android-proguard-only-obfuscation
这是否比与收缩和优化结合使用时更容易混淆,如果是这样的话,安全性会降低多少。
消除收缩和优化也会使应用程序更有可能通过其测试集,并且不太可能出现异常吗?包括这些步骤的 + 和 - 是什么?
收缩肯定会影响代码的正确性。例如,如果您在 xml 布局中设置 clickhandler,其中包含如下行:
android:onClick="myClickHandler"
那么除非您明确告诉 Proguard 保留该代码,否则它将在启用收缩时将其删除。直到运行时单击/触摸该小部件时,此错误才会显现出来。
收缩和优化完全不会影响正确性;您的程序将完全正常工作。实际上,Proguard 引入错误的唯一方法是弄乱反射的某些方面,这将是由于混淆,而不是缩小或优化。
如果您询问缩小和优化对 jar 大小的影响有多大,请查看http://proguard.sourceforge.net/#results.html以获取示例统计信息。