2015-01-21 176 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