我正在使用proguard來模糊我的android應用程序。 android應用程序包含一些本地代碼,它可以回調完全限定的java方法。我不需要混淆這些類和他們方法的名稱。下面恰當地保留類名稱,但不包括方法名稱。在proguard中,如何保留一組類的方法名?
-keep public class com.me.dontobf.*
-keepnames public class com.me.dontobf.*
我正在使用proguard來模糊我的android應用程序。 android應用程序包含一些本地代碼,它可以回調完全限定的java方法。我不需要混淆這些類和他們方法的名稱。下面恰當地保留類名稱,但不包括方法名稱。在proguard中,如何保留一組類的方法名?
-keep public class com.me.dontobf.*
-keepnames public class com.me.dontobf.*
對於本地方法:ProGuard manual > Examples > Processing native methods
-keepclasseswithmembernames class * {
native <methods>;
}
在這種情況下,回調方法:ProGuard manual > Examples > Processing callback methods
-keep class mypackage.MyCallbackClass {
void myCallbackMethod(java.lang.String);
}
或者例如,如果所有的公共方法可能是回調方法:
-keep class mypackage.MyCallbackClass {
public <methods>;
}
你可能還需要不斷髮生的方法描述的任何程序類。
嘗試:
-keepclasseswithmembernames class * {
native <methods>;
}
從ProGuard的手冊:http://proguard.sourceforge.net/manual/examples.html#native
您的建議對我無效。我需要保留從本地代碼調用的非本地方法的方法名稱。你的建議保留了包含本地方法的類的類名。 – ab11
這個工程。謝謝。 – ab11
這可以幫助我很多。謝謝! –
我如何保存用戶定義的代碼? –