2012-08-14 7 views
5

Używam proguard do zaciemniania. Jak mogę zachować tylko nazwy funkcji podczas zaciemniania. nazwy klas muszą być zaciemnione, ale nazwy funkcji.Zachowaj tylko nazwy funkcji podczas zaciemniania dla proguard

jeśli używam,

-keep class * { 
    void somefunction(); 
} 

i utrzymuje funkcję someFunction, ale robi to zmienić nazwy klas.

Ale chcę zmienić nazwy klas, ale someFunction

+0

... Z ciekawości, dlaczego miałbyś chcieć tego zachowania? –

+0

Mam projekt jni (Android ndk). i używam niektórych funkcji java w C++. Mogę uzyskać klasę obiektów, więc nazwy klas mogą być zaciemnione. Muszę znać nazwy funkcji, więc nazwy funkcji nie mogą być zaciemniane. – Adem

+1

Dobra, więc nazwy klas mogą być zaciemniane, ale jeśli nazwy funkcji pozostają spójne, to jaki jest sens? Twój kod nie będzie tak zaciemniony. –

Odpowiedz

8

można użyć -keepclassmembers lub -keepclassmembernames.

Zał. Podręcznik ProGuard> Użycie>Overview of Keep Options

+0

-keepclassmembers działa dobrze dla mojego przypadku. dzięki – Adem