我尝试使用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[]);
}
答案 0 :(得分:3)
proguard删除未使用的类,方法和变量。在“缩小选项”下查看-dontshrink
here
您需要保留在jar外部使用的方法/类名,而不仅仅是main方法。查看“保留选项”
下相同链接中的-keep
选项