我的android项目有Jsoup(1.6.1)作为外部库,但是proguard(使用ADT生成的默认proguard.cfg)告诉有意想不到的错误,例如:
[proguard]执行指令时出现意外错误:
[proguard] Class = [org/jsoup/parser/TreeBuilder]
[proguard] Method = [insertInFosterParent(log/jsoup/nodes/Node;)]V)
[proguard]指令= [64]aload_2 v2
[proguard] Exception = [java.lang.]NullPointerException) (null)
[proguard]执行部分求值时出现意外错误:
[proguard] Class = [org/jsoup/parser/TreeBuilder]
[proguard] Method = [insertInFosterParent(log/jsoup/nodes/Node;)]V)
[proguard] Exception = [java.lang.]NullPointerException) (null)
我发现许多帖子与其他库的类似问题,和- dontopoptimize可以删除这样的错误,但它会降低优化(作为proguard.cfg中的默认值:- optimationpasses 5)
有谁能帮我一下吗?还是Jsoup的潜在问题?我也有同样的问题。通过使用最新版本的Proguard(4.6)而不是与android sdk(4.4)捆绑的版本解决了这个问题。
这看起来像是ProGuard的一个bug。您应该检查它是否在最新版本中没有被修复。否则,你可以在Sourceforge的ProGuard的bug跟踪器上报告这个bug。在这种情况下,问题可能很容易重现。你可以通过减少优化次数来解决这个问题。