多jar项目的Proguard混淆
Proguard obfuscation of multi jar project
我已经使用 Maven 成功配置 Proguard 来混淆一个 jar 及其依赖的 jar。我已经设法让两个混淆使用相同的映射文件,这样一个 jar 就可以调用另一个的方法。我面临的问题是 Proguard 没有在混淆的 jar 中保留唯一的名称;两个经过混淆的 jar 都包含一个名为
的 class
f.b.class
因为有两个 class 称为 f.b.class(每个 jar 一个),优先级被赋予调用 jar 中的 class,这会导致问题。
有没有人以前遇到过这种情况,您知道解决方案吗?目前我正在使用
-keeppackagenames
切换以确保包层次结构保持不同,以便任何重复的 class 名称不会冲突。理想情况下,我想删除所有包名称
开关
-useuniqueclassmembernames
也已应用,但显然仅将其应用于当前正在混淆的 jar。它看起来和以前混淆的罐子不一样,以确保跨罐子的唯一性。
谢谢
为了解决这个问题,我最终使用了 -keeppackagenames 选项。这不是解决方案,而是解决方法。
我已经使用 Maven 成功配置 Proguard 来混淆一个 jar 及其依赖的 jar。我已经设法让两个混淆使用相同的映射文件,这样一个 jar 就可以调用另一个的方法。我面临的问题是 Proguard 没有在混淆的 jar 中保留唯一的名称;两个经过混淆的 jar 都包含一个名为
的 classf.b.class
因为有两个 class 称为 f.b.class(每个 jar 一个),优先级被赋予调用 jar 中的 class,这会导致问题。
有没有人以前遇到过这种情况,您知道解决方案吗?目前我正在使用
-keeppackagenames
切换以确保包层次结构保持不同,以便任何重复的 class 名称不会冲突。理想情况下,我想删除所有包名称
开关
-useuniqueclassmembernames
也已应用,但显然仅将其应用于当前正在混淆的 jar。它看起来和以前混淆的罐子不一样,以确保跨罐子的唯一性。
谢谢
为了解决这个问题,我最终使用了 -keeppackagenames 选项。这不是解决方案,而是解决方法。