android混淆文件proguard.cfg詳解

加入第三方jar包之後常出現的幾個異常:

proguard returned with error code 1.See console

情況1:
Proguard returned with error code 1. See console
Error: C:/Documents (系統找不到指定文件)
後來發現是因為將整個工程放到瞭桌面上,而桌面的目錄是C:/Documents and Settings/Administrator/桌面,在這裡面有空格,而proguard進行發編譯的時候是不允許有空格的
如果換瞭正確路徑還不好用的話,直接刪除proguard就好瞭

註意:SDK和程序路徑最好不要有空格符

情況2:

Proguard returned with error code 1. See console
異常:

java.lang.ArrayIndexOutOfBoundsException

解決辦法:將proguard.cfg中的"-dontpreverify"改成“-dontoptimize”

參考文章:http://groups.google.com/group/android-developers/browse_thread/thread/eca3b0f5ce6ad00f

 

我把項目中生成的proguard文件夾(此時文件夾是空的)刪掉,然後再重新運行項目,就OK 瞭。

 

情況3:

[2011-10-21 13:22:32 – ZMKSMarket_Build_v1.0] Proguard returned with error code 1. See console

[2011-10-21 13:22:32 – ZMKSMarket_Build_v1.0] java.io.IOException: Can't read [proguard.ClassPathEntry@106082] (No such file or directory)

[2011-10-21 13:22:32 – ZMKSMarket_Build_v1.0] at proguard.InputReader.readInput(InputReader.java:230)

[2011-10-21 13:22:32 – ZMKSMarket_Build_v1.0] at proguard.InputReader.readInput(InputReader.java:200)

[2011-10-21 13:22:32 – ZMKSMarket_Build_v1.0] at proguard.InputReader.readInput(InputReader.java:178)

[2011-10-21 13:22:32 – ZMKSMarket_Build_v1.0] at proguard.InputReader.execute(InputReader.java:100)

[2011-10-21 13:22:32 – ZMKSMarket_Build_v1.0] at proguard.ProGuard.readInput(ProGuard.java:195)

[2011-10-21 13:22:32 – ZMKSMarket_Build_v1.0] at proguard.ProGuard.execute(ProGuard.java:78)

[2011-10-21 13:22:32 – ZMKSMarket_Build_v1.0] at proguard.ProGuard.main(ProGuard.java:499)

 

拋出這樣的異常的原因是第三方jar的引用路徑不對,沒有找到這個需要忽略混淆的jar包。

 

摘自 維王妖妖

發佈留言