2011-08-24 48 views
0

我使用ZXing源代码创建了一个项目。这工作正常。Android ZXing实现

后,我改变了包名

com.google.zxing.client.android 

com.google.zxing.client.android.vofox 

但它显示了在真实的设备(HTC野火)

它在Eclipse模拟器没有错误的错误。我的logcat文件如下所示。

08-23 17:13:58.899: ERROR/AndroidRuntime(9816): FATAL EXCEPTION: main 
08-23 17:13:58.899: ERROR/AndroidRuntime(9816): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.google.zxing.client.android.vofox/com.google.zxing.client.android.vofox.CaptureActivity}: android.view.InflateException: Binary XML file line #26: Error inflating class com.google.zxing.client.android.ViewfinderView 
08-23 17:13:58.899: ERROR/AndroidRuntime(9816):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2781) 
08-23 17:13:58.899: ERROR/AndroidRuntime(9816):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2797) 
08-23 17:13:58.899: ERROR/AndroidRuntime(9816):  at android.app.ActivityThread.access$2300(ActivityThread.java:135) 
08-23 17:13:58.899: ERROR/AndroidRuntime(9816):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2132) 
08-23 17:13:58.899: ERROR/AndroidRuntime(9816):  at android.os.Handler.dispatchMessage(Handler.java:99) 
08-23 17:13:58.899: ERROR/AndroidRuntime(9816):  at android.os.Looper.loop(Looper.java:143) 
08-23 17:13:58.899: ERROR/AndroidRuntime(9816):  at android.app.ActivityThread.main(ActivityThread.java:4914) 
08-23 17:13:58.899: ERROR/AndroidRuntime(9816):  at java.lang.reflect.Method.invokeNative(Native Method) 
08-23 17:13:58.899: ERROR/AndroidRuntime(9816):  at java.lang.reflect.Method.invoke(Method.java:521) 
08-23 17:13:58.899: ERROR/AndroidRuntime(9816):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858) 
08-23 17:13:58.899: ERROR/AndroidRuntime(9816):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
08-23 17:13:58.899: ERROR/AndroidRuntime(9816):  at dalvik.system.NativeStart.main(Native Method) 
08-23 17:13:58.899: ERROR/AndroidRuntime(9816): Caused by: android.view.InflateException: Binary XML file line #26: Error inflating class com.google.zxing.client.android.ViewfinderView 
08-23 17:13:58.899: ERROR/AndroidRuntime(9816):  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:576) 
08-23 17:13:58.899: ERROR/AndroidRuntime(9816):  at android.view.LayoutInflater.rInflate(LayoutInflater.java:618) 
08-23 17:13:58.899: ERROR/AndroidRuntime(9816):  at android.view.LayoutInflater.inflate(LayoutInflater.java:407) 
08-23 17:13:58.899: ERROR/AndroidRuntime(9816):  at android.view.LayoutInflater.inflate(LayoutInflater.java:320) 
08-23 17:13:58.899: ERROR/AndroidRuntime(9816):  at android.view.LayoutInflater.inflate(LayoutInflater.java:276) 
08-23 17:13:58.899: ERROR/AndroidRuntime(9816):  at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:207) 
08-23 17:13:58.899: ERROR/AndroidRuntime(9816):  at android.app.Activity.setContentView(Activity.java:1654) 
08-23 17:13:58.899: ERROR/AndroidRuntime(9816):  at com.google.zxing.client.android.vofox.CaptureActivity.onCreate(CaptureActivity.java:157) 
08-23 17:13:58.899: ERROR/AndroidRuntime(9816):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1065) 
08-23 17:13:58.899: ERROR/AndroidRuntime(9816):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2745) 
08-23 17:13:58.899: ERROR/AndroidRuntime(9816):  ... 11 more 
08-23 17:13:58.899: ERROR/AndroidRuntime(9816): Caused by: java.lang.ClassNotFoundException: com.google.zxing.client.android.ViewfinderView in loader dalvik.system.PathClassLoader[/data/app/com.google.zxing.client.android.vofox-1.apk] 
08-23 17:13:58.899: ERROR/AndroidRuntime(9816):  at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:243) 
08-23 17:13:58.899: ERROR/AndroidRuntime(9816):  at java.lang.ClassLoader.loadClass(ClassLoader.java:573) 
08-23 17:13:58.899: ERROR/AndroidRuntime(9816):  at java.lang.ClassLoader.loadClass(ClassLoader.java:532) 
08-23 17:13:58.899: ERROR/AndroidRuntime(9816):  at android.view.LayoutInflater.createView(LayoutInflater.java:466) 
08-23 17:13:58.899: ERROR/AndroidRuntime(9816):  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:565) 
08-23 17:13:58.899: ERROR/AndroidRuntime(9816):  ... 20 more 
08-23 17:13:59.869: ERROR/libagl(103): uses alphaPlaneWorkaround 
08-23 17:13:59.889: ERROR/libagl(103): uses alphaPlaneWorkaround 
08-23 17:13:59.919: ERROR/libagl(103): uses alphaPlaneWorkaround 
08-23 17:13:59.939: ERROR/libagl(103): uses alphaPlaneWorkaround 
+0

引起:android.view.InflateException:二进制XML文件行#26:错误充气类com.google.zxing.client.android.ViewfinderView,引起:java.lang.ClassNotFoundException:com.google.zxing.client .android.ViewfinderView in loader dalvik.system.PathClassLoader [/data/app/com.google.zxing.client.android.vofox-1.apk] 检查这两行 – Randroid

+0

我是该库的开发人员。请不要使用我们项目包的子包。使用自己的软件包作为自己的代码。 它也似乎是你主要复制我们的代码并重命名它。请不要这样做。它不是被公开来源复制和粘贴的,我们不赞同这一点。 实际上你的问题是你还没有完全理解代码和你需要重命名的东西。您的清单文件仍然引用旧的ViewfinderView类。 –

回答

13

变化com.google.zxing ....下布局,以com.yourpackage名/捕获&布局,LDPI @行

com.google.zxing.client.android.ViewfinderView

它解决了问题...它为我做了!

干杯!

+6

老兄你摇滚哈哈我有同样的问题。 @Sean Owen - 我想也许你应该在你的zxing页面上的google代码中包含一个新的教程部分,解释如何将条形码软件的各个部分集成到你自己的应用程序中。我完全理解想要保护项目的完整性,但我确实在很多论坛上看到你向人们解释不要做他们想要使用你的项目的人。这肯定有利于开源社区提供关于如何整合条形码的详细教程。 –

+0

那么,它一直在那里... https://code.google.com/p/zxing/wiki/ScanningViaIntent –

+0

@ Sean Owen很多人都在使用你的项目作为一个库,我明白这是错误的,但看到你的自。您是QR和条码中的Rockstar。我看到你评论“不克隆”,这是正确的,我尊重这一点。难道你不这么认为是时候把他们的代码作为一个库来给他们了。给它一个想法。感谢真棒项目。 –