当前位置: 首页 > 知识库问答 >
问题:

ProGuard混淆后无法从library.jar文件导入类

仰成天
2023-03-14

我已经构建了一个。jar库文件。我可以在我的项目中正常地导入它,但是在Proguard混淆之后,我不能再从那个库调用类/函数了。我的包和类已经转换为a.class,B.class,c.class,如下图所示。

共有1个答案

洪星文
2023-03-14

ProGuard重命名类。在分发库时,您需要配置ProGuard以不重命名需要公开的API。

可以添加如下规则:

-keep public class * {
     public protected *;
}

这将停止重命名所有公共类中的所有public&protected方法

 类似资料:
  • 我对混淆有问题。为了获得更好的想象力: JAVA代码 本机代码 在我想发布一个混淆版本之前,一切都很好。这个类中的Java类(例如)和方法的名称被proGuard重命名为“a”和“a()”(这可能并不总是相同的),但在本机代码中,方法和类的原始名称保持不变,因为它被硬编码为字符串,如下所示: ...有没有办法动态设置方法名?

  • 我正在努力解决JavaFX应用程序的模糊问题。以本项目为基础: Proguard配置文件:-dontoptimized-dontshrink 有人有JavaFX模糊处理的经验吗?

  • 我尝试在android studio中使用Proguard,但Proguard似乎没有混淆类名,例如,我的应用程序结构和配置: 和配置 但当我尝试在应用程序中触发异常时: ADB控制台中列出了异常: 只有方法被混淆了,MainActivity.class没有

  • 问题内容: 是否可以仅将ProGuard用于混淆。我不希望ProGuard从我的项目中删除任何类。我打算使用ProGuard只是为了混淆,以防止进行反向工程。 问题答案: 是的,通过指定 您可以在ProGuard手册中找到有关所有配置选项的详细信息。 请注意,缩小和优化可能有助于防止反向工程。

  • 我有一个可运行的java jar文件,我们称之为。在这个中,如果我使用7Zip或WinRAR提取它,还有其他罐,让我们称之为。 ProGuard设法混淆了主罐子,但是当我看的时候——里面的lib罐子不是。正因为如此,程序(主rogram.jar)在某一点中断。我也已经在我的条件设置选项。 我通过蚂蚁build.xml.调用proguard.jar,这是我的配置文件

  • 问题内容: 但是,最终还是推荐了yGuard和另一个ProGuard,但都没有提到两者。我想知道我们是否可以对每个人进行比较,并从围栏的两侧听到人们的经历。查看ProGuard网站上的比较表,它与ProGuard明显成角度。但是,每种产品的实际经验如何- 哪一种产品的产量较小?哪一个更难以反编译?每个版本支持哪些Java版本? 我个人从J2ME的角度特别感兴趣,但是请不要将讨论仅限于此。 问题答案