2012-12-12 132 views
0

我正在尝试制作条码扫描器的限制版本,它只能扫描2d数据矩阵。我认为最好的方法是从ZXing svn仓库获取最新的源代码,构建core.jar,将其包含在应用程序库中,并从那里开始工作。从ZXing Source运行条码扫描器应用程序?

但是,要查看应用程序中各种组件的工作方式,我尝试使用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中。我不知道要做什么修改。

任何帮助或重定向或资源引用在这将不胜感激。

+0

Ahmad答案是您的解决方案,但您还必须确保您的core.jar是放在源文件夹 –

回答

0

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

+0

之上,非常感谢ahmad ... – blunder