java - How to configure Proguard to keep static methods with different return times -
i have set of classes (more 50) contain few static methods called parse() returns instance of class. example of 1 of classes:
class sometype { // parse methods public static sometype parse(string text) { ... } public static sometype parse(object obj) { ... } ... // other methods public void static somethingstatic(...) { ... } public void somethingnotstatic(...) { ... } ... } i'm trying configure proguard obfuscate these classes , methods , fields except parse(...) methods. basically, want obfuscate class name, static , non-static methods, plus class fields.
i've tried use:
-keepclassmembers class sometype { public static sometype parse(***); } and worked fine sometype, don't want have write rule each of 50 classes... how can generalize it?
i tried:
-keepclassmembers class ** { public static * parse(***); } but proguard complains syntax of return type...
your rule correct, use *** return type, match any type:
-keepclassmembers class ** { public static *** parse(***); } also -keepclassmembers preferred on -keepclasseswithmembers keep methods specify , not class (which not needed in case describe).
if have more 1 argument parse methods, should use:
-keepclassmembers class ** { public static *** parse(...); } the ... match any number of arguments of any type.
Comments
Post a Comment