ab1*_*b11 23 java android proguard
我正在使用proguard来混淆我的android应用程序.android应用程序包含一些本机代码,可以对完全限定的java方法进行回调.我不需要混淆这些类及其方法的名称.下面正确地保留了类名,但不保留方法名.
-keep public class com.me.dontobf.*
-keepnames public class com.me.dontobf.*
Run Code Online (Sandbox Code Playgroud)
Eri*_*une 54
对于本机方法:ProGuard手册>示例>处理本机方法
# note that <methods> means any method
-keepclasseswithmembernames,includedescriptorclasses class * {
native <methods>;
}
Run Code Online (Sandbox Code Playgroud)
在这种情况下,对于回调方法:ProGuard手册>示例>处理回调方法
-keep class mypackage.MyCallbackClass {
void myCallbackMethod(java.lang.String);
}
Run Code Online (Sandbox Code Playgroud)
或者,例如,如果所有公共方法都可能是回调方法:
-keep class mypackage.MyCallbackClass {
public <methods>;
}
Run Code Online (Sandbox Code Playgroud)
您可能还需要保留方法描述符中出现的任何程序类.