2015-01-21 122 views
0

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

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。*;并且还将包prouard.wtk导入com.sun.kvem.environment.Obfuscator;我在网上搜索了这些库,但找不到它们将它们添加到项目中。

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

任何关于如何从源代码构建proguard的搜索,返回与proguard的使用和配置相关的结果。

有人可以帮我这个吗?

回答

0

你从它的源代码使用Ant构建的ProGuard:

  1. 安装Ant如果尚未安装。
  2. 创建一个build.xml文件,或者使用proguard的
  3. 打开在同一文件夹中build.xml文件命令提示符提供的build.xml文件,并运行“蚁族”

这它。 Ant将构建proguard,并在命令提示符窗口中描述它的进度。

要下载并安装蚂蚁:

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

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