La aplicación se ha detenido de forma inesperada: ¿Cómo depurar?
Tenga en cuenta, a diferencia de muchas otras preguntas con el título de asunto "la aplicación se ha detenido inesperadamente", no estoy pidiendo la solución de problemas de un problema en particular.
Más bien, estoy pidiendo un esbozo de la mejor estrategia para un novato de Android / Eclipse / Java para hacer frente a esta formidable tarea de digerir enormes cantidades de información con el fin de desarrollar (y depurar!) Una simple aplicación de Android.
- ¿Cómo supervisar constantemente el archivo LogCat?
- Android studio logcat no funciona
- E / dalvikvm: No se pudo encontrar la clase
- Cómo habilitar eventos de salto de superficie en logcat
- Androide logcat registra la línea del módulo chatty expirar mensaje
En mi caso, tomé la aplicación de muestra de esqueleto del SDK, lo modificó un poco y lo que conseguí el momento de intentar ejecutarlo?
La aplicación (process.com.example.android.skeletonapp) se ha detenido inesperadamente. Vuelve a intentarlo.
OK, así que sé que tengo que buscar LogCat. Está lleno de líneas de tiempo que me miran fijamente … ¿Qué hago ahora? ¿Qué necesito buscar?
¿Hay una manera de un solo paso del programa, para encontrar la declaración que hace que la caída de la aplicación? (Pensé que los programas de Java nunca se bloquean, pero aparentemente me equivoqué)
¿Cómo coloco un punto de interrupción?
¿Puede recomendar un tutorial de depuración de Android en línea, aparte de éste ?
- Logcat está siendo "spam", resultando en "Demasiada salida para procesar"
- ¿Hay un límite de longitud para String en Android?
- Impresión de Logcat "nombre de la interfaz: null" durante cada llamada al método de ejecución DefaultHttpClient
- Logcat en android L no se borra después de desconectar y volver a conectar
- Android Genymotion VM logcat se ejecuta en bucle infinito
- Uso de LogCat para la depuración USB android del navegador
- obtener pantalla en blanco en logcat
- Imprimir una lista <String> a logcat
Soy un principiante Eclipse / Android, así, pero espero que mi proceso de depuración simple puede ayudar …
Establece puntos de interrupción en Eclipse haciendo clic con el botón derecho del ratón junto a la línea que desea romper y seleccionando "Alternar punto de interrupción". A partir de ahí usted querrá seleccionar "Debug" en lugar de la "Run" estándar, que le permitirá pasar a través y así sucesivamente. Utilice los filtros proporcionados por LogCat (referencia en su tutorial) para que pueda orientar los mensajes que desea en lugar de vadear a través de toda la salida. Que (esperemos) ir un largo camino en ayudar a hacer sentido de sus errores.
En cuanto a otros buenos tutoriales, estaba buscando alrededor de unos pocos yo, pero no logró encontrar ninguna joya todavía.
Filtrar su registro a sólo error y buscar FATAL EXCEPTION
Si utiliza la pantalla de Logcat dentro de la perspectiva de depuración en Eclipse, las líneas tienen un código de color. Es bastante fácil encontrar lo que hizo que su aplicación se bloquee porque suele estar en rojo.
La máquina virtual de Java (o Dalvik) nunca debería fallar, pero si su programa lanza una excepción y no la captura, la VM terminará su programa, que es el 'bloqueo' que está viendo.
Compruebe si su aplicación tiene los permisos necesarios. También estaba recibiendo el mismo error y comprobé el registro de depuración logcat que mostraba esto:
04-15 13:38:25.387: E/AndroidRuntime(694): java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.CALL dat=tel:555-555-5555 cmp=com.android.phone/.OutgoingCallBroadcaster } from ProcessRecord{44068640 694:rahulserver.test/10055} (pid=694, uid=10055) requires android.permission.CALL_PHONE
Luego le di el permiso necesario en mi android-manifiesto que funcionó para mí.
- En la pantalla de inicio, presione la tecla Menú.
- Producto en la lista
- Toca Ajustes.
- Toca Aplicaciones.
- Toca Administrar aplicaciones.
- Toca Todos.
- Seleccione la aplicación que tiene problemas.
- Toca Borrar datos y Borrar caché si están disponibles. Esto restablece la aplicación como si fuera nueva y puede eliminar datos personales almacenados en la aplicación.
- NullPointerException en getActivity (). RunOnUiThread (nuevo Runnable () {
- ¿Cuáles son los tipos de piel en Android Studio?