多jar项目的Proguard混淆

时间:2015-05-28 15:35:48

标签: java proguard

我已经使用Maven成功配置了Proguard来混淆jar和它的依赖jar。我已经设法使两个混淆使用相同的映射文件,因此一个jar可以调用另一个jar的方法。我面临的问题是,Proguard没有在混淆的罐子里保留独特的名字;两个混淆的jar都包含一个名为

的类
f.b.class

由于有两个名为f.b.class的类(每个jar中有一个),因此调用jar中的类将被赋予优先级,这会导致问题。

以前有没有人经历过这个,你是否意识到这个问题的解决方案。目前我正在使用

-keeppackagenames

切换以确保包层次结构保持不同,以便任何重复的类名称不会发生冲突。理想情况下,我想删除所有包名称

开关

-useuniqueclassmembernames

也已应用,但它显然只适用于当前被混淆的jar。它不会看起来和以前混淆的罐子,以确保罐子的独特性。

由于

1 个答案:

答案 0 :(得分:0)

为了解决这个问题,我最终使用了-keeppackagenames选项。这不是一个解决方案,而是一种解决方法。