0

决定使用 Scandit SDK 在我的应用程序中获取条码扫描功能。不幸的是,由于我对 Android 开发和 Java 比较陌生,所以我遇到了一些我似乎无法解决的问题。Scandit 提供的演示没有给出任何错误(运行良好),但是当我尝试启动它时崩溃(从一个活动中按下一个按钮意味着启动它)。我已经尝试阅读 logcat 并在谷歌上搜索问题的解决方案,但我没有得到正确的解决方案。有谁知道我做错了什么?

Logcat 提供如下:

 10-08 23:30:00.807  21563-21563/com.kwesimbia.management D/AndroidRuntime? Shutting down VM
 10-08 23:30:00.807  21563-21563/com.kwesimbia.management W/dalvikvm? threadid=1: thread exiting with uncaught exception (group=0x40aa4228)
 10-08 23:30:00.817  21563-21563/com.kwesimbia.management E/AndroidRuntime? FATAL   EXCEPTION: main

 java.lang.IllegalStateException: Could not execute method of the activity
 at android.view.View$1.onClick(View.java:3082)
 at android.view.View.performClick(View.java:3549)
 at android.view.View$PerformClick.run(View.java:14393)
 at android.os.Handler.handleCallback(Handler.java:605)
 at android.os.Handler.dispatchMessage(Handler.java:92)
 at android.os.Looper.loop(Looper.java:154)
 at android.app.ActivityThread.main(ActivityThread.java:4944)
 at java.lang.reflect.Method.invokeNative(Native Method)
 at java.lang.reflect.Method.invoke(Method.java:511)
 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
 at dalvik.system.NativeStart.main(Native Method)

 Caused by: java.lang.reflect.InvocationTargetException
 at java.lang.reflect.Method.invokeNative(Native Method)
 at java.lang.reflect.Method.invoke(Method.java:511)
 at android.view.View$1.onClick(View.java:3077)
 at android.view.View.performClick(View.java:3549)
 at android.view.View$PerformClick.run(View.java:14393)
 at android.os.Handler.handleCallback(Handler.java:605)
 at android.os.Handler.dispatchMessage(Handler.java:92)                 
 at android.os.Looper.loop(Looper.java:154)
 at android.app.ActivityThread.main(ActivityThread.java:4944)
 at java.lang.reflect.Method.invokeNative(Native Method)
 at java.lang.reflect.Method.invoke(Method.java:511)
 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 
 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
 at dalvik.system.NativeStart.main(Native Method)

 Caused by: java.lang.NoClassDefFoundError: com.kwesimbia.management.ScanditSDKDemoSimple
 at com.kwesimbia.management.Activity_D.initiateCodeScan(Activity_D.java:63)
 at java.lang.reflect.Method.invokeNative(Native Method)
 at java.lang.reflect.Method.invoke(Method.java:511)
 at android.view.View$1.onClick(View.java:3077)
 at android.view.View.performClick(View.java:3549)
 at android.view.View$PerformClick.run(View.java:14393)
 at android.os.Handler.handleCallback(Handler.java:605)
 at android.os.Handler.dispatchMessage(Handler.java:92)
 at android.os.Looper.loop(Looper.java:154)
 at android.app.ActivityThread.main(ActivityThread.java:4944)
 at java.lang.reflect.Method.invokeNative(Native Method)
 at java.lang.reflect.Method.invoke(Method.java:511)
 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
 at dalvik.system.NativeStart.main(Native Method)

 10-08 23:30:00.817    32726-587/? E/EmbeddedLogger? App crashed! 
 Process: com.kwesimbia.management
 10-08 23:30:00.817    32726-587/? E/EmbeddedLogger? App crashed! 
 Package: com.kwesimbia.management v1 (1.0)

 10-08 23:30:00.817    32726-587/? E/EmbeddedLogger? 
 Application Label: firstapp
 10-08 23:30:00.827    32726-587/? W/ActivityManager? 
 Force finishing activity com.kwesimbia.management/.Activity_D
4

1 回答 1

0

我也遇到了这个问题,我的解决方案是提取库文件并将它们作为文件放在 lib 文件夹中

该库基本上没有随它一起导出

编辑

所以我检查了我的项目,基本上我做了这些事情:

libs文件夹中,我有一个名为的新文件夹armeabi,在里面我有libscanditsdk-android-3.3.1.so

然后在我的构建路径中,我还引用了他们提供的 jar 文件:

<classpathentry exported="true" kind="lib" path="C:/GIT/Android/FwayScannerProject/FwayScanner/libs/scanditsdk-barcodepicker-android-3.3.1.jar"/>

于 2013-10-11T22:43:03.007 回答