什么是智能ProGuard配置来混淆一个特定类com.acme.Algorithm的私有方法和常量?
我想对此进行模糊处理,因为它包含的算法在意外打开.jar时不应该很明显。
我是ProGuard的新手。 AFAIU,你必须使用“保持”,但“混淆”的积极逻辑是不可用的,对吧?那么如何从“保持一切”配置中排除我的课程?注意:我暂时不想混淆其他类,因为我想让客户看到有意义的堆栈跟踪。
答案 0 :(得分:24)
模糊单个类不会产生太大影响:它可能会更改类名和一些字段名称和方法名称,并且可能会优化某些代码。混淆往往不太有效隐藏小块信息。您混淆的应用程序代码越多,理解起来就越困难。
话虽如此,您可以指定:
-keep class !com.acme.Algorithm { *; }
它将所有类/字段/方法保留在com.acme.Algorithm之外。