如何解决Zebra RFID 执行 doInBackground() 时出错,java.lang.ClassCastException: com.zebra.rfid.RfidServiceMgr 无法转换为 b.a.b.a
我正在编写一个使用 RFIDAPI3Library 的 Flutter/Android 应用程序,它大致基于 SDK 示例应用程序。当我在调试模式下运行它时它运行成功,但是当我在发布模式下运行它时出现错误。在调试与发布中运行它会导致这样的错误有什么不同?任何想法将不胜感激
2021-07-21 15:12:59.325 9982-10009/? E/AndroidRuntime: FATAL EXCEPTION: AsyncTask #1
Process: com.sample.rfid,PID: 9982
java.lang.RuntimeException: An error occurred while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:325)
at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:354)
at java.util.concurrent.FutureTask.setException(FutureTask.java:223)
at java.util.concurrent.FutureTask.run(FutureTask.java:242)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:243)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:761)
Caused by: java.lang.ClassCastException: com.zebra.rfid.RfidServiceMgr cannot be cast to b.a.b.a
at com.zebra.rfid.api3.e.a()
at com.zebra.rfid.api3.h3.<init>()
at com.zebra.rfid.api3.n4.b()
at com.zebra.rfid.api3.c1.<init>()
at com.zebra.rfid.api3.j1.o()
at com.zebra.rfid.api3.j1.b()
at com.sample.rfid.a$d.a()
at com.sample.rfid.a$d.doInBackground()
at android.os.AsyncTask$2.call(AsyncTask.java:305)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:243)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:761)
解决方法
将这两行(minifyEnable、shrinkResources)添加到模块的 build.gradle 文件中似乎为我解决了这个问题
buildTypes {
release {
minifyEnabled false
shrinkResources false
signingConfig signingConfigs.debug
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。