2012-10-29 42 views
0

我有一个名为“kaza”的包的jar文件。在这个罐子里面有代码说:Proguard Obfuscation + getJarEntry

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

当从我的jar中运行时,这一行返回jarEntry。 当我使用Proguard对这个jar进行混淆时,这行代码返回null,但是当我打开混淆的jar时,我在那里找到了“kaza”文件夹!

我试图将其更改为:

jfile.getJarEntry("kaza\\"); 

jfile.getJarEntry("kaza"); 

但是毫无效果!

可能是什么问题? 谢谢,

回答

1

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

+0

谢谢你,那工作 – user1053792