java - 忽略Proguard中要优化的接口(interface)抽象方法?

标签 java android maven proguard

我有一个类 CustomListener,如下所示:

public interface CustomListener{
     public abstract void abd(ArrayList<customObject> list);
}

这个类在我的库中,当我用 Maven 和 Proguard 构建它时,这个方法被优化为 通用 ArrayList 类型如下。我怎样才能跳过 proguard 这样做?

public interface CustomListener{
     public abstract void abd(ArrayList list);
}

最佳答案

Java 编译器将通用签名存储在 Signature 属性中。 Java虚拟机会忽略这些属性(删除),因此ProGuard默认删除它们。如有必要,您可以保留它们,例如用于反射或处理库:

-keepattributes Signature

关于java - 忽略Proguard中要优化的接口(interface)抽象方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24947347/

相关文章:

java - 通过java将问题插入数据库

java - 从命令行编译 .java 文件 - 外部库、类路径

android - 谷歌排行榜提交分数失败

android - flutter 120fps问题

java - 在 Maven 中运行时,如何让 JBehave 包含测试依赖 jar?

eclipse - tycho-p2-director-plugin 删除生成的 Artifact

java - 不同编码的 HTTP Post 请求正文(字符集)

java - 无法通过键从数据存储区获取实体

android - javax.net.ssl.SSLException : hostname in certificate didn't match in Android 异常

xml - maven pom 文件有 html 代码而不是 xml