Java 告诉ProGuard混淆给定的方法,但不要';我不能改变它的名字
我有这样一种方法:Java 告诉ProGuard混淆给定的方法,但不要';我不能改变它的名字,java,obfuscation,proguard,Java,Obfuscation,Proguard,我有这样一种方法: public static void aBeautifulMethod(String userId) { int aNumber = 0; String something = userId; // .... } public static void aBeautifulMethod(String a) // name doesn't change! { int b = 0; String c = a; // .... ev
public static void aBeautifulMethod(String userId)
{
int aNumber = 0;
String something = userId;
// ....
}
public static void aBeautifulMethod(String a) // name doesn't change!
{
int b = 0;
String c = a;
// .... everything is obfuscate inside
}
是否可以让Proguard像往常一样混淆它,但保留它的名称?结果应该是这样的:
public static void aBeautifulMethod(String userId)
{
int aNumber = 0;
String something = userId;
// ....
}
public static void aBeautifulMethod(String a) // name doesn't change!
{
int b = 0;
String c = a;
// .... everything is obfuscate inside
}
请注意,我正在寻找将此规则应用于一组精确的方法的方法。谢谢大家! 保留选项适用于入口点,而不是代码,因此它符合您的描述:
-keep somepackage.SomeClass {
public static void aBeautifulMethod(java.lang.String);
}
如果类名可能被混淆,则可以使用-keepclassmembers
您可以指定更多方法并使用各种通配符,如ProGuard手册中所述。谢谢,实际上我已经通过执行类似操作解决了这个问题:“-keepclassmembernames”和代码上的注释。