2012-08-14 9 views
5

Ich benutze Proguard für die Verschleierung. Wie kann ich nur Funktionsnamen während der Verschleierung behalten? Klassennamen müssen verschleiert werden, aber Funktionsnamen.behalten Sie nur Funktionsnamen bei der Verschleierung für Proguard

wenn ich benutze,

-keep class * { 
    void somefunction(); 
} 

und es hält Funktion Einefunktion, aber es tut Klassen Namen ändern.

Aber ich möchte Klassen-Namen ändern, aber Einefunktion

+0

... Aus Neugier, warum möchten Sie möglicherweise dieses Verhalten? –

+0

Ich habe jni Projekt (android ndk). und ich benutze eine Java-Funktion in C++. Ich kann Klassen von Objekten erhalten, sodass Klassennamen verschleiert werden können. Ich muss Funktionsnamen kennen, so dass Funktionsnamen nicht verschleiert werden können. – Adem

+1

Okay, also Klassennamen _können_ verschleiert werden, aber wenn Funktionsnamen konsistent bleiben, was ist dann der Sinn? Dein Code wird nicht so verschleiert sein. –

Antwort

8

Sie -keepclassmembers oder -keepclassmembernames verwenden können.

Cfr. ProGuard manual> Usage>Overview of Keep Options

+0

-keepclassmembers funktioniert gut für meinen Fall. Vielen Dank – Adem

Verwandte Themen