1
8
有一条路。 Jarjar项目可以在远处完成这项工作。jar jar项目的第一个目标是允许在自己的jar中嵌入第三方库,如有必要,可以更改包结构。这样做可以去掉不需要的类。 检查一下 http://code.google.com/p/jarjar/ . 以下是关于收缩罐子的链接: http://sixlegs.com/blog/java/jarjar-keep.html |
2
2
在Ant中有一个称为classfileset的工具。指定您知道需要的根类列表,然后类文件集递归地分析它们的代码以查找所有依赖项。 或者,您可以开发一个好的测试套件来执行您需要的所有功能,然后在测试覆盖工具下运行测试。该工具将告诉您实际使用了哪些类(以及其中的语句)。这可以为您提供比静态分析所能找到的代码更小的代码集。 |
3
2
我用 ProGuard 为此。作为一个优秀的模糊器,它还具有代码收缩阶段,可以组合多个jar,然后去掉任何未使用的类或类成员。它做了一个 杰出的 收缩的工作。 |
4
1
在以前的工作中,我使用了一个Java混淆器,不仅混淆了代码,还删除了未使用的类和方法。如果您正在执行“class.byname”或任何其他类型的反射操作,则需要告诉模糊器,因为它无法通过检查代码来分辨反射调用的类或方法。 当然,问题在于,您不知道第三方库的其他部分是否正在进行任何反射,因此删除“未使用”类可能会导致在未经测试的模糊情况下发生中断。 |
5
0
JAR只是一个压缩文件,所以我想你可以。如果你能找到源头,它就更干净了。也许可以试着分解课堂? |
6
0
除了这个问题,这能提高性能吗?因为未使用的类不会被JIT编译,提高启动时间,还是Java在编译到字节码时自动检测到,甚至不处理未使用的代码? |
7
0
这将是一个有趣的项目(有人已经做了吗?) 我想你应该把你的jar作为一个起点,把库jar作为清理的起点。它可以使用反射来确定哪些类是您的JAR直接引用的,哪些类是在调用树中间接使用的(这一点都不简单,但是可行的)。如果它在这两个地方遇到任何反射代码,它应该发出非常大的警告。 |
7BeholdeR7 · 文件夹的重量超过其中的文件(六倍) 2 年前 |
Bram Vanroy · 为什么假值(0)的字节数小于真值(1)? 6 年前 |
user7088941 · 无法在tkinter中更改按钮字体大小 6 年前 |
Chewbaka · 嵌入函数中的可变大小元素,但输入和输出固定 6 年前 |
Edwin ZAP · 多布局:匹配父布局、调整内容、调整大小 6 年前 |
Kanishk Tanwar · 用于查找文本文件大小的小片段 6 年前 |
Inertial Ignorance · 为什么字符的大小只有8位? 6 年前 |