【问题标题】:Running Barcode Scanner App from ZXing Source?从 ZXing Source 运行 Barcode Scanner App?
【发布时间】:2012-12-12 23:39:55
【问题描述】:

我正在尝试制作一个受限版本的条形码扫描仪,它只能扫描二维数据矩阵。我认为最好的方法是从 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-scanner-into-your-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 的修改。我不知道要在那里进行哪些修改。

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

【问题讨论】:

  • Ahmad Answer 是您的解决方案,但您还必须确保您的 core.jar 位于源文件夹上方

标签: android zxing


【解决方案1】:

您将收到NoClassDefFoundError。这意味着您的 jar 文件在运行时不可用。为了让它在运行时可用,您必须在 java 构建路径中检查 jar 文件上的复选框,如下所示:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-11-06
    • 1970-01-01
    • 2017-09-13
    • 2014-12-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多