0

我正在尝试制作一个受限版本的条形码扫描仪,它只能扫描二维数据矩阵。我认为最好的方法是从 ZXing svn 存储库获取最新源,构建 core.jar,将其包含在应用程序库中,然后从那里开始工作。

但是,为了了解应用程序中的各种组件如何工作,我尝试使用 ZXing 存储库中的 android 源代码运行条码扫描器应用程序。为此,我遵循了关于

https://stackoverflow.com/a/4854637/1273954
https://stackoverflow.com/a/4825803/1273954
以及http://damianflannery.wordpress.com/2011/06/13/integrate-zxing-barcode-扫描仪进入你的 android-app-natively-using-eclipse/

所有这些帖子本质上都在谈论相同的事情和相同的方法。但是,每次我运行应用程序时,我的设备都会显示“不幸的是,条形码扫描仪已停止”

这是 logcat 显示的内容:

12-12 17:18:56.213: E/AndroidRuntime(15408): FATAL EXCEPTION: main
12-12 17:18:56.213: E/AndroidRuntime(15408): java.lang.ExceptionInInitializerError
12-12 17:18:56.213: E/AndroidRuntime(15408):    at java.lang.Class.newInstanceImpl(Native Method)
12-12 17:18:56.213: E/AndroidRuntime(15408):    at java.lang.Class.newInstance(Class.java:1319)
12-12 17:18:56.213: E/AndroidRuntime(15408):    at android.app.Instrumentation.newActivity(Instrumentation.java:1023)
12-12 17:18:56.213: E/AndroidRuntime(15408):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1964)
12-12 17:18:56.213: E/AndroidRuntime(15408):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2083)
12-12 17:18:56.213: E/AndroidRuntime(15408):    at android.app.ActivityThread.access$600(ActivityThread.java:134)
12-12 17:18:56.213: E/AndroidRuntime(15408):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1233)
12-12 17:18:56.213: E/AndroidRuntime(15408):    at android.os.Handler.dispatchMessage(Handler.java:99)
12-12 17:18:56.213: E/AndroidRuntime(15408):    at android.os.Looper.loop(Looper.java:137)
12-12 17:18:56.213: E/AndroidRuntime(15408):    at android.app.ActivityThread.main(ActivityThread.java:4697)
12-12 17:18:56.213: E/AndroidRuntime(15408):    at java.lang.reflect.Method.invokeNative(Native Method)
12-12 17:18:56.213: E/AndroidRuntime(15408):    at java.lang.reflect.Method.invoke(Method.java:511)
12-12 17:18:56.213: E/AndroidRuntime(15408):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:787)
12-12 17:18:56.213: E/AndroidRuntime(15408):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:554)
12-12 17:18:56.213: E/AndroidRuntime(15408):    at dalvik.system.NativeStart.main(Native Method)
12-12 17:18:56.213: E/AndroidRuntime(15408): Caused by: java.lang.NoClassDefFoundError: com.google.zxing.ResultMetadataType
12-12 17:18:56.213: E/AndroidRuntime(15408):    at com.google.zxing.client.android.CaptureActivity.<clinit>(CaptureActivity.java:96)
12-12 17:18:56.213: E/AndroidRuntime(15408):    ... 15 more

帖子还谈到了对文件 androidManifest.xml 的修改。我不知道要在那里进行哪些修改。

任何帮助或重定向或资源参考将不胜感激。

4

1 回答 1

0

你得到一个NoClassDefFoundError. 这意味着您的 jar 文件在运行时不可用。为了让它在运行时可用,您必须在 java 构建路径中检查 jar 文件上的复选框,如下所示: 在此处输入图像描述

于 2012-12-13T01:42:25.570 回答