2011-08-24 5 views
0

ZXing 소스 코드로 프로젝트를 만들었습니다. 그건 잘 작동합니다.Android ZXing 구현

내가

com.google.zxing.client.android.vofox 

에 패키지 이름

com.google.zxing.client.android 

을 변경하지만 실제 장치 (HTC 와일드 파이어) 그것은 이클립스 에뮬레이터에서 오류가 없습니다

에 오류가 표시 한 후. 내 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 코드에 대한 새로운 자습서 섹션을 포함시켜야한다고 생각합니다. 나는 당신의 프로젝트의 무결성을 보호하고자하는 것을 완전히 이해하지만, 많은 사람들이 프로젝트를 사용하기를 원하지 않는 사람들에게 설명하는 많은 포럼에서 당신을 만난다. opensource 커뮤니티가 바코드를 통합하는 방법에 대한 자세한 자습서를 제공하는 데 확실히 도움이됩니다. –

+0

글쎄, 항상 거기에 있었어 ... https://code.google.com/p/zxing/wiki/ScanningViaIntent –

+0

@Sean Owen 많은 사람들이 프로젝트를 라이브러리로 사용하고 있는데, 이것이 잘못되었다는 것을 이해하지만 본인. QR & Barcode의 록 스타입니다. 나는 당신이 "복제하지 마라"라고 말하는 것을 보았습니다. 그것은 옳았습니다. 나는 그것을 존중합니다. 그렇게 생각하지 않습니까? 도서관에 코드를 제공해야 할 때입니다. 생각 해봐. 멋진 프로젝트에 감사드립니다. –