告诉ProGuard对给定方法进行模糊处理,但不要更改其名称

时间:2014-07-28 10:42:24

标签: java obfuscation proguard

我有这样的方法:

public static void aBeautifulMethod(String userId) 
{
    int aNumber = 0;
    String something = userId;
    // ....
}

是否有可能告诉Proguard像往常一样混淆它,但保留它的名字?结果应该是这样的:

public static void aBeautifulMethod(String a) // name doesn't change!
{
    int b = 0;
    String c = a;
    // .... everything is obfuscate inside
}

请注意,我正在寻找一种方法将此规则应用于一组精确的方法。谢谢!

1 个答案:

答案 0 :(得分:0)

-keep选项适用于入口点,而不是代码,因此它符合您的描述:

-keep somepackage.SomeClass {
    public static void aBeautifulMethod(java.lang.String);
}

如果可以对类名进行模糊处理,则可以使用-keepclassmembers。

您可以指定更多方法并使用各种通配符,如ProGuard手册中所述。