【发布时间】:2024-01-20 20:51:01
【问题描述】:
【问题讨论】:
-
为什么要从 3rd 方 jar 中删除类?
-
这通常是个坏主意,因为 - 感谢reflection - 没有办法真正知道哪些类未使用,哪些未使用,尤其是在涉及第三方 JAR 时(即你不知道它们在内部是如何工作的)。
-
+Joonas 感谢您的回答。你是对的,但是ProGuard 可以处理反射和内省。那么,有没有其他工具可以对第三方 Jars 做同样的事情?
-
@M.ES:ProGuard 可以处理简单的反射情况,但它的manual 明确警告一般情况:通常不可能预见必须保留哪些类(使用它们的原始名称),因为类名可能是从配置文件中读取的,例如。因此,您必须在 ProGuard 配置中指定它们,使用相同的简单 -keep 选项。
-
您是否尝试过从库 jar 中提取类并在它们上运行 proguard,就好像它们是主项目的一部分一样?还是 ProGuard 只能删除有源代码的未使用类?
标签: java class jar dependencies proguard