안드로이드용 ZXING 소스를 받아서 이클립스에 임포트 시키고, core.jar 파일 추가해준 뒤
Library Project 화 시켰습니다.
그리고 Test 앱에 ZXING 프로젝트 라이브러리를 추가하여 TEST 앱에서 바코드 스캐너 액티비티를 실행시키면
아래와 같은 에러가 납니다.
05-15 16:46:59.152: E/AndroidRuntime(11779): FATAL EXCEPTION: main
05-15 16:46:59.152: E/AndroidRuntime(11779): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.qrapp/com.google.zxing.client.android.CaptureActivity}: java.lang.ClassCastException: android.widget.TextView cannot be cast to com.google.zxing.client.android.ViewfinderView
05-15 16:46:59.152: E/AndroidRuntime(11779): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1968)
05-15 16:46:59.152: E/AndroidRuntime(11779): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1993)
05-15 16:46:59.152: E/AndroidRuntime(11779): at android.app.ActivityThread.access$600(ActivityThread.java:127)
05-15 16:46:59.152: E/AndroidRuntime(11779): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1159)
05-15 16:46:59.152: E/AndroidRuntime(11779): at android.os.Handler.dispatchMessage(Handler.java:99)
05-15 16:46:59.152: E/AndroidRuntime(11779): at android.os.Looper.loop(Looper.java:137)
05-15 16:46:59.152: E/AndroidRuntime(11779): at android.app.ActivityThread.main(ActivityThread.java:4507)
05-15 16:46:59.152: E/AndroidRuntime(11779): at java.lang.reflect.Method.invokeNative(Native Method)
05-15 16:46:59.152: E/AndroidRuntime(11779): at java.lang.reflect.Method.invoke(Method.java:511)
05-15 16:46:59.152: E/AndroidRuntime(11779): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:790)
05-15 16:46:59.152: E/AndroidRuntime(11779): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557)
05-15 16:46:59.152: E/AndroidRuntime(11779): at dalvik.system.NativeStart.main(Native Method)
05-15 16:46:59.152: E/AndroidRuntime(11779): Caused by: java.lang.ClassCastException: android.widget.TextView cannot be cast to com.google.zxing.client.android.ViewfinderView
05-15 16:46:59.152: E/AndroidRuntime(11779): at com.google.zxing.client.android.CaptureActivity.onCreate(CaptureActivity.java:158)
05-15 16:46:59.152: E/AndroidRuntime(11779): at android.app.Activity.performCreate(Activity.java:4465)
05-15 16:46:59.152: E/AndroidRuntime(11779): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1052)
05-15 16:46:59.152: E/AndroidRuntime(11779): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1932)
05-15 16:46:59.152: E/AndroidRuntime(11779): ... 11 more
그런데 웃긴거는 기본 테스트 앱의 레이아웃 파일명이 a나 b로 시작되면 저런 에러가 발생하고
(보통 default layout 파일명이 activity_main.xml 이죠)
a나 b로 시작 안하고 다른 이름으로 바꾸어주면 무난히 동작합니다.
이유를 혹시 아시는분 계시나요?