首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NoClassDefFoundError: com.google.zxing.ResultMetadataType用于zxing

NoClassDefFoundError: com.google.zxing.ResultMetadataType用于zxing
EN

Stack Overflow用户
提问于 2015-08-06 03:49:45
回答 2查看 8.3K关注 0票数 1

我正在开发一个应用程序,通过ZXing扫描安卓上的条形码。我跟着这个教程

但是当我运行我的应用程序时,NoClassDefFoundError得到并完成了应用程序。

代码语言:javascript
复制
08-06 10:42:43.401: E/AndroidRuntime(10391): FATAL EXCEPTION: main
08-06 10:42:43.401: E/AndroidRuntime(10391): Process: com.foxconn.cnsbg.it.barcodescanner, PID: 10391
08-06 10:42:43.401: E/AndroidRuntime(10391): java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/zxing/ResultMetadataType;
08-06 10:42:43.401: E/AndroidRuntime(10391):    at com.google.zxing.client.android.CaptureActivity.<clinit>(CaptureActivity.java:93)
08-06 10:42:43.401: E/AndroidRuntime(10391):    at java.lang.reflect.Constructor.newInstance(Native Method)
08-06 10:42:43.401: E/AndroidRuntime(10391):    at java.lang.Class.newInstance(Class.java:1572)
08-06 10:42:43.401: E/AndroidRuntime(10391):    at android.app.Instrumentation.newActivity(Instrumentation.java:1065)
08-06 10:42:43.401: E/AndroidRuntime(10391):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2246)
08-06 10:42:43.401: E/AndroidRuntime(10391):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2405)
08-06 10:42:43.401: E/AndroidRuntime(10391):    at android.app.ActivityThread.access$800(ActivityThread.java:149)
08-06 10:42:43.401: E/AndroidRuntime(10391):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1324)
08-06 10:42:43.401: E/AndroidRuntime(10391):    at android.os.Handler.dispatchMessage(Handler.java:102)
08-06 10:42:43.401: E/AndroidRuntime(10391):    at android.os.Looper.loop(Looper.java:211)
08-06 10:42:43.401: E/AndroidRuntime(10391):    at android.app.ActivityThread.main(ActivityThread.java:5333)
08-06 10:42:43.401: E/AndroidRuntime(10391):    at java.lang.reflect.Method.invoke(Native Method)
08-06 10:42:43.401: E/AndroidRuntime(10391):    at java.lang.reflect.Method.invoke(Method.java:372)
08-06 10:42:43.401: E/AndroidRuntime(10391):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1016)
08-06 10:42:43.401: E/AndroidRuntime(10391):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:811)
08-06 10:42:43.401: E/AndroidRuntime(10391): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.zxing.ResultMetadataType" on path: DexPathList[[zip file "/data/app/com.foxconn.cnsbg.it.barcodescanner-2/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
08-06 10:42:43.401: E/AndroidRuntime(10391):    at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
08-06 10:42:43.401: E/AndroidRuntime(10391):    at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
08-06 10:42:43.401: E/AndroidRuntime(10391):    at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
08-06 10:42:43.401: E/AndroidRuntime(10391):    ... 15 more
08-06 10:42:43.401: E/AndroidRuntime(10391):    Suppressed: java.lang.ClassNotFoundException: com.google.zxing.ResultMetadataType
08-06 10:42:43.401: E/AndroidRuntime(10391):        at java.lang.Class.classForName(Native Method)
08-06 10:42:43.401: E/AndroidRuntime(10391):        at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
08-06 10:42:43.401: E/AndroidRuntime(10391):        at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
08-06 10:42:43.401: E/AndroidRuntime(10391):        at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
08-06 10:42:43.401: E/AndroidRuntime(10391):        ... 16 more
08-06 10:42:43.401: E/AndroidRuntime(10391):    Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available

我搜索了Google并在CaptureActivity项目中修复了构建路径,比如:

还将core-2.2.jar添加到文件夹中,这两个文件夹都是CaptureActivity项目和my项目。我该如何解决这个问题?

EN

回答 2

Stack Overflow用户

发布于 2015-10-07 17:52:27

看看这篇文章:升级sdk获得了NoClassDefFoundError

引用Till

“我不必将jar库放在资产或lib中,而只需在Properties -> Java构建路径-> "Order and Export”(以前列出,但未选中)中为该jar勾选

您可能需要做一个项目>清理之后,才能生效!“

这对我有用!

票数 2
EN

Stack Overflow用户

发布于 2015-08-06 04:04:06

当您的代码所依赖的类文件在编译时存在,但在运行时没有找到时,NoClassDefFoundError就会发生。

由于core-2.2.jar中存在的类是应用程序的基础,为了保持一致性,您希望将此依赖项添加到lib文件夹中,而不是将其外部提供给构建路径。

还检查构建时间和运行时classpath的差异。对此进行快速检查可以解决你的问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31846502

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档