使用ProGuard,我如何对一个类进行模糊处理?

时间:2013-07-26 11:49:47

标签: proguard

什么是智能ProGuard配置来混淆一个特定类com.acme.Algorithm的私有方法和常量?

我想对此进行模糊处理,因为它包含的算法在意外打开.jar时不应该很明显。

我是ProGuard的新手。 AFAIU,你必须使用“保持”,但“混淆”的积极逻辑是不可用的,对吧?那么如何从“保持一切”配置中排除我的课程?注意:我暂时不想混淆其他类,因为我想让客户看到有意义的堆栈跟踪。

1 个答案:

答案 0 :(得分:24)

模糊单个类不会产生太大影响:它可能会更改类名和一些字段名称和方法名称,并且可能会优化某些代码。混淆往往不太有效隐藏小块信息。您混淆的应用程序代码越多,理解起来就越困难。

话虽如此,您可以指定:

-keep class !com.acme.Algorithm { *; }

它将所有类/字段/方法保留在com.acme.Algorithm之外。