从它的源代码构建混淆器

Build proguard from it's source code

在我的 Unity3d 应用程序上从 Eclipse 内部使用混淆器时,我收到一个由损坏的 StackMapTable 属性引起的错误。我发现这是一个已知问题,其解决方法是通过修改其 ClassConstants.java 中的定义来告诉混淆器忽略 StackMapTable 属性,然后重建混淆器并替换 [=34= 中的 proguard.jar ] SDK:

http://sourceforge.net/p/proguard/bugs/420/

我下载了最新的 proguard 源代码 (v.5.1),并根据需要修改了 ClassConstants.java。但是,无论我怎么尝试,我就是无法成功构建proguard,这是该过程的第二步。

我尝试了几个小时,但似乎我遗漏了一些对于经验丰富的 Java 程序员来说很明显的东西。我尝试在 Eclipse 中创建一个新的 Java 项目并将所有 proguard src 文件夹复制到 Eclipse 的 src 文件夹中,然后导出到 jar。有了这个,我得到了许多编译警告和错误。我认为这是因为 proguard.ant 包使用了很多导入,例如 import org.apache.tools.ant.*;还有 package proguard.wtk imports com.sun.kvem.environment.Obfuscator;我在网上搜索了这些库,但找不到它们将它们添加到项目中。

此外,我在命令提示符下进行了尝试:src/proguard/ 文件夹中的 javac ProGuard.java,该过程以 61 个错误结束。

我对如何从其源代码构建混淆器所做的任何搜索,returns 结果与混淆器的使用和配置相关。

有人可以帮我解决这个问题吗?

您使用 ant 从其源代码构建混淆器:

  1. 如果尚未安装 ant,请安装。
  2. 创建一个build.xml文件,或者使用proguard
  3. 提供的build.xml文件
  4. 在与 build.xml 文件相同的文件夹中打开命令提示符,然后 运行 "ant"

就是这样。 Ant 将构建 proguard,并在命令提示符中描述它的进度 window。

下载安装ant:

http://ant.apache.org/bindownload.cgi

http://ant.apache.org/manual/install.html