proguard没有正确混淆

时间:2012-10-31 11:17:38

标签: java proguard

我尝试使用proguard在jar文件中混淆两个类。我的一个班有12个方法。我在命令和gui表单中运行proguard。但只有两种方法的12方法被混淆,另外10种方法消失了。任何人都知道为什么会发生这种情况?(它运行没有错误) 另一个问题是我的一个类中的公共方法转换为私有,因此当我将我的jar文件添加到新项目时,它在另一个项目中无法访问。 感谢

    this is my config file:
-injars       PKTB.jar
-outjars      PKTB_out.jar
-libraryjars  "J:\Program Files (x86)\Java\jdk1.6.0\jre"
-libraryjars   "C:\Users\Mohsen\Downloads\bcprov-jdk15on-147.jar"
-libraryjars  "C:\Users\Mohsen\Downloads\bcpkix-jdk15on-147.jar"

-printmapping proguard.map
-keep public class pktb.PKTB{
    public static void main(java.lang.String[]);
}

1 个答案:

答案 0 :(得分:3)

proguard删除未使用的类,方法和变量。在“缩小选项”下查看-dontshrink here

您需要保留在jar外部使用的方法/类名,而不仅仅是main方法。查看“保留选项”

下相同链接中的-keep选项