2011-08-24 103 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。我看到你評論「不克隆」,這是正確的,我尊重這一點。難道你不這麼認爲是時候把他們的代碼作爲一個庫來給他們了。給它一個想法。感謝真棒項目。 –