2012-08-01 148 views
3

我知道如何可执行的JAR文件混淆由于它有一个主类。但我试图创建我的API(它已经完成),我只需要混淆代码。问题是,每当我尝试使用Proguard(一个众所周知的Java混淆器)对jar文件进行混淆时,它会给我一个关于'keep'的错误。我从Proguard的运行ProGuard的图形用户界面,并在Eclipse中,我出口项目作为一个正常的jar文件(不可执行),我试图混淆的是jar文件。另外,我没有在我的jar文件中包含.classpath和.project文件。如果任何人可以请帮助/指导我在Proguard中混淆非可执行的jar文件,这将是非常有用的和赞赏。谢谢。Proguard的混淆JAR文件

注:我使用ProGuard的GUI混淆,没有什么做的命令行。

形象的问题: enter image description here

回答

3

在为Proguard的您的配置文件,你需要指定要保留哪些类,否则Proguard的只会降低了一切。 最常见的一种保持线看起来像:

-keep my.applications.package.* 

-keep my.applications.package.MainClass 

您可以找到Proguard webpage

+0

没有主类,但是,这是一个外部库。 :P这就是为什么我会对做什么感到困惑。 – 2012-08-01 20:03:15

+0

我想说的是,在我的任何课程中都没有主要的方法。 – 2012-08-01 20:08:45

+1

在“8.典型库”下的proguard页面上还有一个例子。 – evilcandybag 2012-08-02 19:40:26

3

CFR的ProGuard手册>示例配置文件的例子>A typical library

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

+0

该参考文献很受欢迎。我没有看到任何这样的复选框,可以请分享图像或参考。 – 2015-07-14 12:11:46

+0

Opps,错误的地方。往上看。 – 2017-02-01 23:41:42