Реализация Android ZXing

Я создал проект с исходным кодом ZXing. Это прекрасно работает.

После того, как я изменил имя пакета

 com.google.zxing.client.android 

to

 com.google.zxing.client.android.vofox

Но показывает ошибку на реальном устройстве (HTC Wildfire)

В эмуляторе 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

person nikhilkilivayil    schedule 24.08.2011    source источник
comment
Вызвано: android.view.InflateException: строка двоичного XML-файла № 26: ошибка раздувания класса com.google.zxing.client.android.ViewfinderView, вызванная: java.lang.ClassNotFoundException: com.google.zxing.client.android. ViewfinderView в загрузчике dalvik.system.PathClassLoader[/data/app/com.google.zxing.client.android.vofox-1.apk] Проверьте эти две строчки   -  person Randroid    schedule 24.08.2011
comment
Я разработчик этой библиотеки. Пожалуйста, не используйте подпакет пакета нашего проекта. Используйте свой собственный пакет для своего собственного кода. Также кажется, что вы в основном копируете наш код и переименовываете его. Пожалуйста, не делайте этого. Это не было открытым исходным кодом для копирования и вставки, и мы не одобряем это. На самом деле ваша проблема в том, что вы не совсем поняли код и то, что вам нужно переименовать. Ваш файл манифеста по-прежнему ссылается на старый класс ViewfinderView.   -  person Sean Owen    schedule 04.05.2013


Ответы (1)


Измените имя com.google.zxing.... на com.yourpackage в layouts/capture & layouts-ldpi @ line

com.google.zxing.client.android.ViewfinderView

Это решает проблему... Это помогло мне!!!

Ваше здоровье!!

person Neo    schedule 21.09.2011
comment
Чувак, ты крут, лол, у меня была такая же проблема. @Sean Owen - я думаю, возможно, вам следует включить новый раздел руководства на свою страницу zxing в коде Google, объясняющий, как именно интегрировать части программного обеспечения штрих-кода в ваше собственное приложение. Я полностью понимаю желание защитить целостность вашего проекта, но я вижу, как вы на многих форумах объясняете людям не делать то, для чего они хотят использовать ваш проект. Сообществу с открытым исходным кодом определенно было бы полезно разместить там подробное руководство о том, как интегрировать штрих-код. - person James andresakis; 11.01.2012
comment
Ну, так было всегда... code.google.com/p/zxing/wiki /ScanningViaIntent - person Sean Owen; 30.04.2013
comment
@ Шон Оуэн, многие люди используют ваш проект в качестве библиотеки, я понимаю, что это неправильно, но посмотрите сами. Вы Rockstar в QR и штрих-коде. Я видел, как вы комментировали «Не клонировать», что правильно, и я уважаю это. Вам так не кажется? Пришло время отдать им ваш код в виде библиотеки. Подумайте об этом. Спасибо за классный проект. - person AkshayT; 21.11.2013
comment
Вы не понимаете. Часть, представляющая собой библиотеку, уже предоставлена ​​как библиотека: core/. Приложение не является библиотекой, но это приложение делает себя максимально доступным через Android Intent. Я рад, что люди могут делать с ним все, что хотят, в рамках лицензии. Но я не в восторге от того, что люди нарушают закон, вводя пользователей в заблуждение, или мешают при этом нашему приложению. Это не имеет ничего общего с тем, что люди не хотят копировать или что-то в этом роде. - person Sean Owen; 22.11.2013