1

我尝试使用 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[]);
}
4

1 回答 1

3

proguard 删除未使用的类、方法和变量。在“收缩选项”下查看-dontshrink此处

您需要保留在 jar 之外使用的方法/类名称,而不仅仅是主要方法。查看-keep“保留选项”下同一链接中的选项

于 2012-10-31T11:21:58.060 回答