EdwardvanRaak / MaterialBarcodeScanner

Easy to use barcode reader for your Android Project (Uses Google Mobile Vision API)
Apache License 2.0
272 stars 113 forks source link

App Crash (Force Closed) When Opening Scan Layout Activity #1

Closed adadion closed 8 years ago

adadion commented 8 years ago

I have been tested your sample with a little modification on class path and variable based on my needs. But crashed when I get into scan layout that consist scan button.

This log is what I get when running into my device (Mito A72 - Lolipop 5.1):

`04-15 15:31:37.575 10716-10716/com.adadion.opentokostockopname W/IInputConnectionWrapper: showStatusIcon on inactive InputConnection 04-15 15:31:58.435 10716-10716/com.adadion.opentokostockopname W/IInputConnectionWrapper: showStatusIcon on inactive InputConnection 04-15 15:33:53.337 16732-16732/com.adadion.opentokostockopname W/zipro: Error opening archive /data/theme/apps/base: I/O Error 04-15 15:33:53.337 16732-16732/com.adadion.opentokostockopname D/asset: failed to open Zip archive '/data/theme/apps/base'

                                                                    [ 04-15 15:33:53.337 16732:16732 W/         ]
                                                                    Unable to open '/system/theme/apps/base': No such file or directory

04-15 15:33:53.337 16732-16732/com.adadion.opentokostockopname W/zipro: Error opening archive /system/theme/apps/base: I/O Error 04-15 15:33:53.337 16732-16732/com.adadion.opentokostockopname D/asset: failed to open Zip archive '/system/theme/apps/base' 04-15 15:33:53.497 16732-16732/com.adadion.opentokostockopname W/art: Before Android 4.1, method android.graphics.PorterDuffColorFilter android.support.graphics.drawable.VectorDrawableCompat.updateTintFilter(android.graphics.PorterDuffColorFilter, android.content.res.ColorStateList, android.graphics.PorterDuff$Mode) would have incorrectly overridden the package-private method in android.graphics.drawable.Drawable 04-15 15:33:53.587 16732-17432/com.adadion.opentokostockopname D/OpenGLRenderer: Use EGL_SWAP_BEHAVIOR_PRESERVED: false 04-15 15:33:53.597 16732-16732/com.adadion.opentokostockopname D/Atlas: Validating map... 04-15 15:33:53.707 16732-17432/com.adadion.opentokostockopname I/OpenGLRenderer: Initialized EGL, version 1.4 04-15 15:33:53.707 16732-17432/com.adadion.opentokostockopname D/OpenGLRenderer: Enabling debug mode 0 04-15 15:34:03.607 17508-17508/com.adadion.opentokostockopname I/art: Late-enabling -Xcheck:jni 04-15 15:34:04.037 17508-17508/com.adadion.opentokostockopname W/zipro: Error opening archive /data/theme/apps/base: I/O Error 04-15 15:34:04.037 17508-17508/com.adadion.opentokostockopname D/asset: failed to open Zip archive '/data/theme/apps/base'

                                                                    [ 04-15 15:34:04.037 17508:17508 W/         ]
                                                                    Unable to open '/system/theme/apps/base': No such file or directory

04-15 15:34:04.037 17508-17508/com.adadion.opentokostockopname W/zipro: Error opening archive /system/theme/apps/base: I/O Error 04-15 15:34:04.037 17508-17508/com.adadion.opentokostockopname D/asset: failed to open Zip archive '/system/theme/apps/base' 04-15 15:34:04.198 17508-17508/com.adadion.opentokostockopname W/art: Before Android 4.1, method android.graphics.PorterDuffColorFilter android.support.graphics.drawable.VectorDrawableCompat.updateTintFilter(android.graphics.PorterDuffColorFilter, android.content.res.ColorStateList, android.graphics.PorterDuff$Mode) would have incorrectly overridden the package-private method in android.graphics.drawable.Drawable 04-15 15:34:04.288 17508-17528/com.adadion.opentokostockopname D/OpenGLRenderer: Use EGL_SWAP_BEHAVIOR_PRESERVED: false 04-15 15:34:04.298 17508-17508/com.adadion.opentokostockopname D/Atlas: Validating map... 04-15 15:34:04.378 17508-17528/com.adadion.opentokostockopname I/OpenGLRenderer: Initialized EGL, version 1.4 04-15 15:34:04.378 17508-17528/com.adadion.opentokostockopname D/OpenGLRenderer: Enabling debug mode 0 `

EdwardvanRaak commented 8 years ago

The logging you provided doesn't seem to be related to the library. I need to see the stracktrace with the exception if possible.

adadion commented 8 years ago

Here is Error track trace (running in emulator):

04-15 18:41:56.813 2094-2094/com.adadion.opentokostockopname E/AndroidRuntime: FATAL EXCEPTION: main Process: com.adadion.opentokostockopname, PID: 2094 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.adadion.opentokostockopname/com.adadion.opentokostockopname.NewStockOpname}: android.view.InflateException: Binary XML file line #27: Error inflating class android.support.design.widget.FloatingActionButton at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2298) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360) at android.app.ActivityThread.access$800(ActivityThread.java:144) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5221) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694) Caused by: android.view.InflateException: Binary XML file line #27: Error inflating class android.support.design.widget.FloatingActionButton at android.view.LayoutInflater.createView(LayoutInflater.java:633) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:743) at android.view.LayoutInflater.rInflate(LayoutInflater.java:806) at android.view.LayoutInflater.inflate(LayoutInflater.java:504) at android.view.LayoutInflater.inflate(LayoutInflater.java:414) at android.view.LayoutInflater.inflate(LayoutInflater.java:365) at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:276) at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:136) at com.adadion.opentokostockopname.NewStockOpname.onCreate(NewStockOpname.java:30) at android.app.Activity.performCreate(Activity.java:5937) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2251) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)  at android.app.ActivityThread.access$800(ActivityThread.java:144)  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)  at android.os.Handler.dispatchMessage(Handler.java:102)  at android.os.Looper.loop(Looper.java:135)  at android.app.ActivityThread.main(ActivityThread.java:5221)  at java.lang.reflect.Method.invoke(Native Method)  at java.lang.reflect.Method.invoke(Method.java:372)  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)  Caused by: java.lang.reflect.InvocationTargetException at java.lang.reflect.Constructor.newInstance(Native Method) at java.lang.reflect.Constructor.newInstance(Constructor.java:288) at android.view.LayoutInflater.createView(LayoutInflater.java:607) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:743)  at android.view.LayoutInflater.rInflate(LayoutInflater.java:806)  at android.view.LayoutInflater.inflate(LayoutInflater.java:504)  at android.view.LayoutInflater.inflate(LayoutInflater.java:414)  at android.view.LayoutInflater.inflate(LayoutInflater.java:365)  at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:276)  at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:136)  at com.adadion.opentokostockopname.NewStockOpname.onCreate(NewStockOpname.java:30)  at android.app.Activity.performCreate(Activity.java:5937)  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2251)  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)  at android.app.ActivityThread.access$800(ActivityThread.java:144)  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)  at android.os.Handler.dispatchMessage(Handler.java:102)  at android.os.Looper.loop(Looper.java:135)  at android.app.ActivityThread.main(ActivityThread.java:5221)  at java.lang.reflect.Method.invoke(Native Method)  at java.lang.reflect.Method.invoke(Method.java:372)  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)  Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.graphics.drawable.Drawable android.graphics.drawable.Drawable$ConstantState.newDrawable()' on a null object reference at android.graphics.drawable.LayerDrawable$ChildDrawable.<init>(LayerDrawable.java:968) at android.graphics.drawable.LayerDrawable$LayerState.<init>(LayerDrawable.java:1014) at android.graphics.drawable.RippleDrawable$RippleState.<init>(RippleDrawable.java:910) at android.graphics.drawable.RippleDrawable.createConstantState(RippleDrawable.java:901) at android.graphics.drawable.RippleDrawable.createConstantState(RippleDrawable.java:90) at android.graphics.drawable.LayerDrawable.mutate(LayerDrawable.java:932) at android.graphics.drawable.RippleDrawable.mutate(RippleDrawable.java:891) at android.view.View.applyBackgroundTint(View.java:16324) at android.view.View.setBackgroundDrawable(View.java:16193) at android.support.design.widget.FloatingActionButton.access$501(FloatingActionButton.java:61) at android.support.design.widget.FloatingActionButton$ShadowDelegateImpl.setBackgroundDrawable(FloatingActionButton.java:685) at android.support.design.widget.FloatingActionButtonLollipop.setBackgroundDrawable(FloatingActionButtonLollipop.java:75) at android.support.design.widget.FloatingActionButton.<init>(FloatingActionButton.java:139) at android.support.design.widget.FloatingActionButton.<init>(FloatingActionButton.java:110) at java.lang.reflect.Constructor.newInstance(Native Method)  at java.lang.reflect.Constructor.newInstance(Constructor.java:288)  at android.view.LayoutInflater.createView(LayoutInflater.java:607)  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:743)  at android.view.LayoutInflater.rInflate(LayoutInflater.java:806)  at android.view.LayoutInflater.inflate(LayoutInflater.java:504)  at android.view.LayoutInflater.inflate(LayoutInflater.java:414)  at android.view.LayoutInflater.inflate(LayoutInflater.java:365)  at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:276)  at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:136)  at com.adadion.opentokostockopname.NewStockOpname.onCreate(NewStockOpname.java:30)  at android.app.Activity.performCreate(Activity.java:5937)  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2251)  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)  at android.app.ActivityThread.access$800(ActivityThread.java:144)  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)  at android.os.Handler.dispatchMessage(Handler.java:102)  at android.os.Looper.loop(Looper.java:135)  at android.app.ActivityThread.main(ActivityThread.java:5221)  at java.lang.reflect.Method.invoke(Native Method)  at java.lang.reflect.Method.invoke(Method.java:372)  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694) 

It looks like something wrong on onCreate method, so here I included in my custom activity code. Activity.zip

EdwardvanRaak commented 8 years ago

It seems to be a problem with your fab in your layout. Maybe try some of the solutions here?

http://stackoverflow.com/questions/30870443/inflateexception-with-floatingactionbutton-from-official-design-library

mradzinski commented 8 years ago

Actually, I think it's somehow related to how you start your activity... you are doing getSupportActionBar().hide(); but you've never specified which is the supportActionBar mate... May I recommend setting the theme of the activity as "...NoActionBar" (or something like that, can't remember exactly which name it was) instead of hiding it programatically?

04-15 11:22:29.652 15180-15180/com.spotiscan E/AndroidRuntime: FATAL EXCEPTION: main
                                                               Process: com.****, PID: 15180
                                                               java.lang.RuntimeException: Unable to start activity ComponentInfo{com.****/com.edwardvanraak.materialbarcodescanner.MaterialBarcodeScannerActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.v7.app.ActionBar.hide()' on a null object reference
                                                                   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416)
                                                                   at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
                                                                   at android.app.ActivityThread.-wrap11(ActivityThread.java)
                                                                   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
                                                                   at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                   at android.os.Looper.loop(Looper.java:148)
                                                                   at android.app.ActivityThread.main(ActivityThread.java:5417)
                                                                   at java.lang.reflect.Method.invoke(Native Method)
                                                                   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
                                                                   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
                                                                Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.v7.app.ActionBar.hide()' on a null object reference
                                                                   at com.edwardvanraak.materialbarcodescanner.MaterialBarcodeScannerActivity.onCreate(MaterialBarcodeScannerActivity.java:49)
                                                                   at android.app.Activity.performCreate(Activity.java:6251)
                                                                   at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)
                                                                   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369)
                                                                   at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) 
                                                                   at android.app.ActivityThread.-wrap11(ActivityThread.java) 
                                                                   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) 
                                                                   at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                                   at android.os.Looper.loop(Looper.java:148) 
                                                                   at android.app.ActivityThread.main(ActivityThread.java:5417) 
                                                                   at java.lang.reflect.Method.invoke(Native Method) 
                                                                   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
                                                                   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
EdwardvanRaak commented 8 years ago

May I recommend setting the theme of the activity as "...NoActionBar"

Good one, will be fixed in next release.

EdwardvanRaak commented 8 years ago

Fixed in a300ab97867e7f5e775359cc8dd9e0866730a74c