在proguard中,如何保留一组类的方法名称?

我正在使用proguard混淆我的android应用程序。android应用程序包含一些本机代码,这些代码使回调到完全限定的java方法。我不必混淆这些类及其方法的名称。下面正确地保留了类名,但没有保留方法名。

-keep public class com.me.dontobf.*

-keepnames public class com.me.dontobf.*

回答:

对于本机方法:ProGuard手册>示例>处理本机方法

# note that <methods> means any method

-keepclasseswithmembernames,includedescriptorclasses class * {

native <methods>;

}

在这种情况下,对于回调方法:ProGuard手册>示例>处理回调方法

-keep class mypackage.MyCallbackClass {

void myCallbackMethod(java.lang.String);

}

或者,例如,如果所有公共方法都可能是回调方法:

-keep class mypackage.MyCallbackClass {

public <methods>;

}

您可能还需要保留方法描述符中出现的所有程序类。

以上是 在proguard中,如何保留一组类的方法名称? 的全部内容, 来源链接: utcz.com/qa/426401.html

回到顶部