2012-08-14 78 views
5

我使用proguard进行混淆。如何在混淆时只保留函数名称。类名称必须是混淆的,但函数名称。保留只有功能名称时混淆proguard

如果我使用,

-keep class * { 
    void somefunction(); 
} 

,是它让somefunction的功能,但它并没有改变类的名称。

但是,我想改变类的名字,但somefunction

+0

...出于好奇,为什么你会想要这种行为? – 2012-08-14 17:20:46

+0

我有jni项目(android ndk)。我在C++中使用了一些java函数。我可以获得对象的类,所以类名称可以是混淆的。我必须知道函数名称,所以函数名称不能混淆 – Adem 2012-08-14 18:00:27

+1

好的,所以类名称_can_可以被模糊处理,但是如果函数名称保持一致,那么有什么意义呢?反正你的代码不会被混淆。 – 2012-08-14 18:01:36

回答

8

您可以使用-keepclassmembers-keepclassmembernames

Cfr。 ProGuard手册>用法>Overview of Keep Options

+0

-keepclassmembers适合我的情况。谢谢 – Adem 2012-08-14 21:22:31