我知道如何混淆可执行 jar 文件,因为它有一个主类。但我正在尝试创建我的 API(已经完成),我只需要混淆代码。问题是,每当我尝试使用 Proguard(一种众所周知的 java 混淆器)混淆 jar 文件时,它都会给我一个与“保持”有关的错误。我正在从 Proguard 和 Eclipse 中运行 proguard-gui,我将项目导出为普通 jar 文件(不可执行),我试图混淆该 jar 文件。另外,我也没有在我的 jar 文件中包含 .classpath 和 .project 文件。如果有人可以帮助/指导我在 Proguard 中混淆不可执行的 jar 文件,那将非常有用和感激。谢谢。
注意:我使用 Proguard 的 GUI 进行混淆,与命令行无关。
问题图片:
最佳答案
在 Proguard 的配置文件中,您需要指定要保留哪些类,否则 Proguard 只会减少所有内容。 最常见的保持线类似于:
-keep my.applications.package.*
或
-keep my.applications.package.MainClass
您可以在 Proguard webpage 上找到配置文件示例
关于java - JAR 文件的 Proguard 混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11766063/