浓咖啡测试中的Apache Poi 64K错误
问题描述:
我在Espresso中遇到问题。我必须将文本与Excel单元格进行比较。当我调用apache poi方法时,Studio说以下内容。浓咖啡测试中的Apache Poi 64K错误
Error:The number of method references in a .dex file cannot exceed 64K.
我试过这个在我的其他项目,它运作良好。我试图启用multiDex,但它提供了一些其他错误,因为我们正在使用异步http master来获取电影,音乐和其他内容,我无法更改主项目文件。有很多方法,类和布局。
因此我的问题是: 有没有办法解决.dex文件不能超过64K的错误。
答
由于您在直接使用Apache POI库时遇到的各种问题,当前的Apache POI将无法在您的Android Phone上开箱即用。作为jar文件的一部分,Android对于重复类更为严格,不幸的是,XmlBeans在官方的jar文件中有这样的重复类。您还需要所谓的“多角度”来克服您遇到的64k限制。
有迹象表明,试图使人们有可能在Android上使用Apache POI两个项目:
- https://github.com/andruhon/android5xlsx(Android设备5)和https://github.com/andruhon/AndroidReadXLSX(针对Android 4),两者目前还在基于Apache POI 3.12
- https://github.com/centic9/poi-on-android/(对于Android 5,由我维护),可以更容易地使用更新版本的POI重新编译,例如它使用3.16-beta2目前
如果你真的不能使用multi-dex,你需要剥离Apache POI源代码再次低于64k限制,然后自己构建罐子,但这可能是相当一些努力。
感谢您的评论。我现在用'.txt'文件和字符串阅读器解决了这个问题。但我会在未来尝试你的解决方案:) –