安卓中在使用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导入的时候异常信息的主要内容,如果未能解决你的问题,请参考以下文章