Proguard:保留特定方法的注释

时间:2016-02-19 00:30:56

标签: java proguard obfuscation bukkit

我的Minecraft Bukkit插件中有这个类:

public class AsyncPlayerChatListener implements Listener
{
    @EventHandler(priority = EventPriority.HIGH)
    public void onEvent(AsyncPlayerChatEvent event)
    {
    }
}

我想保留方法及其注释。这是我目前的程序配置:

-keep class * extends org.bukkit.event.Listener {
    @org.bukkit.event.EventHandler <methods>;
}

ProGuard目前保留该方法并删除注释。如何指定在实现Listener的类中保留所有EventHandler注释(或者在任何地方保留所有EventHandler注释,也可以)?

我知道

-keepattributes *Annotation*

存在,但我想这会让ProGuard在任何地方保留任何注释。

1 个答案:

答案 0 :(得分:0)

我无法对此进行测试,但这可能会有所帮助(?):

-keepclassmembers class * extends org.bukkit.event.Listener {
    @org.bukkit.event.EventHandler public *;
}