安卓中在使用poi来操作excel导入的时候异常信息

Posted 無昂博奥

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安卓中在使用poi来操作excel导入的时候异常信息相关的知识,希望对你有一定的参考价值。

前言

在开发过程中,发现debug包可以正常运行,release包运行的过程中出现Crash。首先怀疑的点是混淆导致的。然后开始验证自己的推断(装逼模式开启)。

什么是混淆

百度百科中讲到:android代码混淆,又称Android混淆,是伴随着Android系统的流行而产生的一种AndroidAPP保护技术,用于保护APP不被破解和逆向分析。

出现的异常信息如下:

java.lang.NoClassDefFoundError: aavax.xml.stream.FactoryFinder
	at a.a.b.b.a(Unknown Source:12)
	at a.a.b.b.e(Unknown Source:68)
	at a.a.b.b.c(Unknown Source:0)
	at a.a.b.c.b(Unknown Source:4)
	at e.a.b.p.b.o.j.b.<clinit>(Unknown Source:0)
	at e.a.b.p.b.a.H(Unknown Source:45)
	at e.a.b.p.b.a.<init>(Unknown Source:11)
	at e.a.b.p.b.b.<init>(Unknown Source:0)
	at e.a.b.p.b.m.<init>(Unknown Source:0)
	at e.a.b.p.b.a.I(Unknown Source:4)
	at e.a.b.s.y.a(Unknown Source:0)
	at e.a.b.t.c.b0.<init>(Unknown Source:0)

当出现类似上面信息的时候,这个时候就应该是混淆的问题了。
只需要将下面的代码添加到proguard-rules.pro文件中即可。

-keep class com.bea.xml.stream.**  *;
-keep class com.wutka.dtd.**  *;
-keep class org.**  *;
-keep class aavax.xml.**  *;
-keep class com.microsoft.schemas.office.x2006.**  *; 
-keep class schemaorg_apache_xmlbeans.**  *; 
-keep class schemasMicrosoftComOfficeExcel.**  *; 
-keep class schemasMicrosoftComOfficeOffice.**  *; 
-keep class schemasMicrosoftComVml.**  *; 
-keep class repackage.**  *; 
-keep class schemaorg_apache_xmlbeans.**  *; 

如图:

以上是关于安卓中在使用poi来操作excel导入的时候异常信息的主要内容,如果未能解决你的问题,请参考以下文章

POI操作Excel导入和导出

springboot中poi操作合集

java使用POI操作excel文件,实现批量导出,和导入

java使用POI操作excel文件,实现批量导出,和导入

java利用poi读取excel异常问题

Poi实现Excel的导入