出现HSSFWorkbook hwb = new HSSFWorkbook();
行错误
下面的logcat堆栈跟踪
W/System.err: java.lang.NoClassDefFoundError: org.apache.poi.hssf.usermodel.HSSFWorkbook
W/System.err: at com.jd.reg.utils.ExportUtils.exportCustomer(Utils.java:107)
W/System.err: at com.jd.reg.activity.UpdateActivity.exportCustomer(UpdateActivity.java:111)
W/System.err: at com.jd.reg.activity.UpdateActivity$4.onClick(UpdateActivity.java:258)
W/System.err: at android.view.View.performClick(View.java:4212)
W/System.err: at android.view.View$PerformClick.run(View.java:17476)
W/System.err: at android.os.Handler.handleCallback(Handler.java:800)
W/System.err: at android.os.Handler.dispatchMessage(Handler.java:100)
W/System.err: at android.os.Looper.loop(Looper.java:194)
W/System.err: at android.app.ActivityThread.main(ActivityThread.java:5371)
W/System.err: at java.lang.reflect.Method.invokeNative(Native Method)
W/System.err: at java.lang.reflect.Method.invoke(Method.java:525)
W/System.err: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833)
W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
W/System.err: at dalvik.system.NativeStart.main(Native Method)
我已经在
proguard-project.txt
中添加了以下内容-dontwarn org.apache.poi.*
-dontwarn org.apache.poi.util.*
-dontwarn org.apache.poi.ss.*
-dontwarn org.apache.poi.ss.util.*
-dontwarn org.apache.poi.ss.format.*
-dontwarn org.apache.poi.hssf.usermodel.*
-dontwarn org.apache.poi.ddf.*
-dontwarn org.apache.poi.common.usermodel.*
-dontwarn org.apache.poi.hpsf.*
-dontwarn org.apache.poi.poifs.*
-dontwarn org.apache.poi.poifs.crypt.*
-dontwarn org.apache.poi.sl.draw.*
-dontwarn org.apache.poi.sl.draw.geom.*
-dontwarn org.apache.poi.sl.draw.binding.*
-dontwarn org.apache.poi.sl.usermodel.*
-dontwarn org.apache.poi.ss.usermodel.*
及以下
proguard-rules.pro
-keep class org.** { *; }
以及以上 -dontwarn 行
即使多次重建并重新启动android studio,仍然会收到错误。
我到底缺少什么?
最佳答案
将以下规则添加到proguard中
-keep public class org.apache.poi.** {*;}