|
||
|
|
|
|||||||
| Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android |
![]() |
|
|
Herramientas |
|
#1
|
||||
|
||||
|
Consulta sobre debug
Primero: no soy profesional en esto de la programación así que perdón si meto la pata en cómo me expreso.
Tengo una app que estoy probando (somos varios usuarios) y resulta que para conocer los cuelgues de otra gente he incluido el servicio Crashlytics de Fabric (www.fabric.io) que me parece excelente. Me resulta relativamente sencillo seguir aquellos bugs en los que hay alguna referencia a alguna línea de código de mi aplicación pero, aquellos que programáis mucho, cómo tratáis con los errores que no tienen referencia a vuestro código?? Un ejemplo: Código:
Fatal Exception: java.lang.NullPointerException Attempt to invoke virtual method 'int android.view.View.getVisibility()' on a null object reference Raw Text android.widget.FrameLayout.layoutChildren (FrameLayout.java:288) android.widget.FrameLayout.onLayout (FrameLayout.java:273) android.view.View.layout (View.java:16647) android.view.ViewGroup.layout (ViewGroup.java:5438) android.widget.LinearLayout.setChildFrame (LinearLayout.java:1743) android.widget.LinearLayout.layoutVertical (LinearLayout.java:1586) android.widget.LinearLayout.onLayout (LinearLayout.java:1495) android.view.View.layout (View.java:16647) android.view.ViewGroup.layout (ViewGroup.java:5438) android.widget.FrameLayout.layoutChildren (FrameLayout.java:336) android.widget.FrameLayout.onLayout (FrameLayout.java:273) android.view.View.layout (View.java:16647) android.view.ViewGroup.layout (ViewGroup.java:5438) android.widget.LinearLayout.setChildFrame (LinearLayout.java:1743) android.widget.LinearLayout.layoutVertical (LinearLayout.java:1586) android.widget.LinearLayout.onLayout (LinearLayout.java:1495) android.view.View.layout (View.java:16647) android.view.ViewGroup.layout (ViewGroup.java:5438) android.widget.FrameLayout.layoutChildren (FrameLayout.java:336) android.widget.FrameLayout.onLayout (FrameLayout.java:273) com.android.internal.policy.PhoneWindow$DecorView.onLayout (PhoneWindow.java:2678) android.view.View.layout (View.java:16647) android.view.ViewGroup.layout (ViewGroup.java:5438) android.view.ViewRootImpl.performLayout (ViewRootImpl.java:2171) android.view.ViewRootImpl.performTraversals (ViewRootImpl.java:1931) android.view.ViewRootImpl.doTraversal (ViewRootImpl.java:1107) android.view.ViewRootImpl$TraversalRunnable.run (ViewRootImpl.java:6013) android.view.Choreographer$CallbackRecord.run (Choreographer.java:858) android.view.Choreographer.doCallbacks (Choreographer.java:670) android.view.Choreographer.doFrame (Choreographer.java:606) android.view.Choreographer$FrameDisplayEventReceiver.run (Choreographer.java:844) android.os.Handler.handleCallback (Handler.java:739) android.os.Handler.dispatchMessage (Handler.java:95) android.os.Looper.loop (Looper.java:148) android.app.ActivityThread.main (ActivityThread.java:5417) java.lang.reflect.Method.invoke (Method.java) com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:726) com.android.internal.os.ZygoteInit.main (ZygoteInit.java:616) Gracias a todos
|
|
|
|
#2
|
||||
|
||||
|
En primer lugar, si sabes en qué activity/fragment/view se ha producido el crash, intenta mirar si llamas en algún momento al método getVisibility, ya que parece que la variable sobre la cuál lo estás llamando es null.
Aunque no se haya producido el crash en una clase de tu propiedad, fabric/crashlytics te permite ver los distintos threads y llamadas, así que posiblemente en algún momento puedas llegar a localizar por donde pueden ir los tiros. También fíjate en cosas como la orientación del dispositivo, por si puede ser un bug al rotar la pantalla. Después, a pesar de que siempre hay que intentar solucionar todos los bugs posibles, hay veces que los fabricantes hacen cosas extrañas con los móviles y pueden dar errores en los lugares más inverosímiles. Sin ir más lejos, el otro día me llegó un reporte de crash de un móvil de marca de dudosa procedencia (Batmobile) que no restauraba el estado al rotar la pantalla. Evidentemente con esos casos no hay demasiado que hacer. Suerte encontrando el bug.
__________________
|
| Gracias de parte de: | ||
|
#3
|
||||
|
||||
|
Qué va, los otros hilos no son de gran ayuda (todos referidos al propio fabric o crashlytics).
Yo entiendo que se trata de algún problema en un FrameLayout en algún XML que tengo pero claro, sólo en alguna situación especial porque no es un error fácilmente reproducible. Tengo serias dudas de que valga la pena invertir demasiado tiempo en un error tan singular porque en realidad no estaré seguro de si lo habré corregido, al no poder reproducirlo ![]() No debería estar relaciona con la rotación porque está bloqueada. En fin, cosas veréis.... Gracias igualmente. PS. Yo también tengo algún error raro que da siempre con la misma marca de móviles, rara también que vaya... Bendita fragmentación ☺
|