Ich habe eine Reihe von Klassen (mehr als 50), die einige statische Methoden namens parse()
enthalten, die eine Instanz dieser Klasse zurückgibt. Dies ist ein Beispiel für eine dieser Klassen:Wie konfiguriere ich Proguard, um statische Methoden mit unterschiedlichen Rückgabezeiten zu halten?
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(...) { ... }
...
}
Ich versuche ProGuard zu konfigurieren, dass diese Klassen zu verschleiern und alle ihre Methoden und Felder außer die parse(...)
Methoden. Grundsätzlich möchte ich den Klassennamen, alle statischen und nicht statischen Methoden sowie die Klassenfelder verschleiern.
Ich habe zu verwenden versucht:
-keepclassmembers class SomeType {
public static SomeType parse(***);
}
und arbeitete für SomeType
in Ordnung, aber ich will nicht diese Regel ... für jeden meiner 50 Klassen so zu schreiben haben, wie kann ich verallgemeinern?
Ich habe versucht:
-keepclassmembers class ** {
public static * parse(***);
}
aber ProGuard beschwert sich über die Syntax der Rückgabetyp ...