我已经使用Maven成功配置了Proguard来混淆jar和它的依赖jar。我已经设法使两个混淆使用相同的映射文件,因此一个jar可以调用另一个jar的方法。我面临的问题是,Proguard没有在混淆的罐子里保留独特的名字;两个混淆的jar都包含一个名为
的类f.b.class
由于有两个名为f.b.class的类(每个jar中有一个),因此调用jar中的类将被赋予优先级,这会导致问题。
以前有没有人经历过这个,你是否意识到这个问题的解决方案。目前我正在使用
-keeppackagenames
切换以确保包层次结构保持不同,以便任何重复的类名称不会发生冲突。理想情况下,我想删除所有包名称
开关
-useuniqueclassmembernames
也已应用,但它显然只适用于当前被混淆的jar。它不会看起来和以前混淆的罐子,以确保罐子的独特性。
由于
答案 0 :(得分:0)
为了解决这个问题,我最终使用了-keeppackagenames选项。这不是一个解决方案,而是一种解决方法。