太多的方法错误

显然我有太多的apache poijar子,当我尝试读取和写入一个xlsx文件时,会返回太多的方法并超出限制。 以下是我得到的错误

trouble writing output: Too many methods: 66024; max is 65536. By package: 13 java.lang 1 java.lang.reflect 5 java.util 1 javax.xml.namespace 66 org.apache.xmlbeans 19 org.apache.xmlbeans.impl.values 1 org.apache.xmlbeans.impl.xb.xmlschema 2500 org.openxmlformats.schemas.drawingml.x2006.chart 1430 org.openxmlformats.schemas.drawingml.x2006.chart.impl 8767 org.openxmlformats.schemas.drawingml.x2006.main 5258 org.openxmlformats.schemas.drawingml.x2006.main.impl 86 org.openxmlformats.schemas.drawingml.x2006.picture 33 org.openxmlformats.schemas.drawingml.x2006.picture.impl 

有没有解决的办法? 我不想删除任何库,但我的项目不编译。 请帮忙。

发现问题!

这是Apache POI与Android的XSSF不兼容! 其实Apache很不错,但是当Android将你的Java代码转换成Dalvik可执行文件时,它有一个65536的方法限制,当它们处理XSSF时,Apache POI的库超过了。 因此,错误。 与线条无关。 :)我只有75行和7列。 关于这方面的更多信息可以在http://mail-archives.apache.org/mod_mbox/poi-dev/201110.mbox/%3CCA+JOeWNWinmNmEtHs5VK+KEc_6BzAG_=LfpdXqsDsnjJKR2X7Q@mail.gmail.com%3Efind。

简短的回答:

只是删除不必要的jar文件。 例如从你给出的列表中,我看到org.openxmlformats.schemas.drawingml.x2006.main有'8767'方法,如果没有必要,只要删除这个jar文件,你的生活将会变得更容易。

详细答案:

在titanium官方Jira,这个错误仍然是“重新打开”,创build于1年前。 我不认为他们明天会发布一个新的版本。 ( https://jira.appcelerator.org/browse/TIMOB-18082

删除不需要的jar文件会导致运行时错误,但是,由于它们是不必要的,如果没有它们,运行时错误不会发生。

阅读注释,也可以参考这里: ADT:包装和类太多时无法构build

在这里: 我们可以在Titanium android中创build多个dex支持版本吗?