0

我有一个 jar 文件,其中包含一个名为“kaza”的包。在这个罐子里有代码说:

JarFile jfile = new JarFile(fileName);
jfile.getJarEntry("kaza/");

从我的 jar 运行时,此行返回 jarEntry。当我使用 Proguard 混淆这个 jar 时,这一行返回 null 虽然当我打开混淆的 jar 时,我在那里找到了“kaza”文件夹!

我尝试将其更改为:

jfile.getJarEntry("kaza\\");

或者

jfile.getJarEntry("kaza");

但是没有任何效果!

可能是什么问题呢?谢谢,

4

1 回答 1

1

默认情况下,ProGuard 会从 jar 中删除目录条目。您应该仔细检查您是否已指定-keepdirectories以及目录条目是否存在于已处理的 jar 中。确保显示此类条目的不是 zip 存档查看器,即使它们不存在。如果这仍然不起作用,您可以尝试手动解压缩 jar 并再次压缩它,看看它是否有所作为。

于 2012-10-31T00:13:47.017 回答