4

我知道如何混淆可执行 jar 文件,因为它有一个主类。但我正在尝试创建我的 API(它已经完成),我只需要混淆代码。问题是,每当我尝试使用 Proguard(一个众所周知的 java 混淆器)混淆 jar 文件时,它都会给我一个与“keep”有关的错误。我正在从 Proguard 运行 proguard-gui,在 Eclipse 中,我将项目导出为普通的 jar 文件(不可执行),并且试图混淆该 jar 文件。另外,我的 jar 文件中也不包含 .classpath 和 .project 文件。如果有人可以帮助/指导我在 Proguard 中混淆不可执行的 jar 文件,那将非常有用和感激。谢谢你。

注意:我使用 Proguard 的 GUI 进行混淆处理,与命令行无关。

问题图片: 在此处输入图像描述

4

2 回答 2

3

Cfr ProGuard 手册 > 示例 >一个典型的库

GUI 有一个用于处理库的复选框。

于 2012-08-01T22:02:21.877 回答
3

在 Proguard 的配置文件中,您需要指定要保留的类,否则 Proguard 只会减少所有内容。最常见的保持线如下所示:

-keep my.applications.package.*

或者

-keep my.applications.package.MainClass

您可以在Proguard 网页上找到配置文件的示例

于 2012-08-01T20:01:24.300 回答