从它的源代码构建proguard

时间:2015-01-21 10:17:39

标签: java build proguard

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

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

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

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

此外,我尝试从命令提示符:src / proguard /文件夹中的javac ProGuard.java,该过程完成61个错误。

我就如何从源代码构建proguard所做的任何搜索都会返回与proguard的使用和配置相关的结果。

有人可以帮我这个吗?

1 个答案:

答案 0 :(得分:0)

使用ant:

从源代码构建proguard
  1. 如果尚未安装,请安装ant。
  2. 创建build.xml文件,或使用proguard
  3. 提供的build.xml文件
  4. 在与build.xml文件相同的文件夹中打开命令提示符,然后运行" ant"
  5. 那就是它。 Ant将构建proguard,并在命令提示符窗口中描述它的进度。

    下载并安装ant:

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

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