java - Proguard:保留特定方法的注释

标签 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 目前保留方法并删除注解。我如何指定将所有 EventHandler 注释保留在实现 Listener 的类中(或任何地方的所有 EventHandler 注释也可以)?

我知道

-keepattributes *Annotation*

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

最佳答案

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

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

关于java - Proguard:保留特定方法的注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35495185/

相关文章:

azure - 混淆的 DLL 和 Azure 包部署

java - 使用 throws 子句混淆方法

android - 混淆器 : ignore library proguard errors

带有多版本 jar 的 proguard

java - 如何在 GridView Widget 中设置固定数量的项目?

javascript - 我可以阻止浏览器加载项工作或混淆内容吗

mysql - 假名数据到 MySQL 查询

java - 通过 Java 插入图像时 Postgres 编码 "UTF8"错误

Java GUI 101 - 更改 JPanel 的标题

java - Hibernate无法保存对象