【问题标题】:proguard not obfuscate correctlyproguard 没有正确混淆
【发布时间】:2012-10-31 11:17:38
【问题描述】:

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

【问题讨论】:

  • 实际上,这听起来像 ProGuard 完全按照您的指示行事。

标签: java proguard


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2015-02-14
    • 1970-01-01
    • 2011-10-01
    • 2012-08-23
    • 2019-07-20
    • 2013-09-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多