会报这个错误的原因是因为你的android程序引入的jar包加上自身的source的方法太多了,超过了android Dalvik 的极限64K(也就是65536个),所以会抛出错误。
编译的时候不会报错,但是在运行时就会报错。
具体报的错好像是 Dalvik error 2
网上查解决方法。clean project肯定是不成的。
目前只能是减少method调用。缩减method数量。
或者是移除一些jar包。
今天我们的项目报了这个错误,主要是因为docx4j这个开源包里面的方法实在是太多了,小2万个。占了3分之一。
如果你的应用需要export pdf doc ppt 之类的,可以在架构的时候就小心了。因为你引入的jar包一般都会有上万的方法。
好像还有一种工具能把不用的class清理掉。目前正在查,有知道的朋友也可以评论告诉我,感激不尽。