我有一个 jar 文件,其中有一个名为“kaza”的包。这个 jar 里面有一段代码:
JarFile jfile = new JarFile(fileName);
jfile.getJarEntry("kaza/");
当从我的 jar 运行时,此行返回 jarEntry。 当我使用 Proguard 混淆这个 jar 时,这一行返回 null,尽管当我打开混淆的 jar 时,我在那里找到了“kaza”文件夹!
我尝试将其更改为:
jfile.getJarEntry("kaza\\");
或
jfile.getJarEntry("kaza");
但是没有任何效果!
可能是什么问题? 谢谢,
最佳答案
默认情况下,ProGuard 会从 jar 中删除目录条目。您应该仔细检查是否已指定 -keepdirectories
并且目录条目是否存在于已处理的 jar 中。确保不是 zip 存档查看器显示此类条目,即使它们不存在。如果这仍然不起作用,您可以尝试手动解压缩 jar 并再次压缩,看看是否有区别。
关于java - Proguard 混淆 + getJarEntry,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13123159/