2012-06-29 6 views
5

Recibo una java.lang.NullPointerException justo cuando la aplicación se inicia y se apaga. El error del emulador es "Desafortunadamente, el nombre de la aplicación se ha detenido". Funcionaba bien, hasta que escribí un montón de código nuevo y cambié el manifiesto. Esperemos que no sea el manifiesto, pero mi pregunta es, ¿cómo puedo averiguar qué línea de código es el problema? El rastro de rastreo no significa nada para mí, y aunque es detallado, tener ... 11 más no me deja ver todo.Cómo obtener la línea específica de código que arrojó un error

Realmente no sé lo que significa ese error. Lo he buscado, pero parece que hay una lista de cosas que podría significar. Probé Project> Clean, intenté volver a jugar con el manifiesto, pero sigo teniendo el error. He marcado/desactivado bibliotecas externas. Acabo de hacer lo que la gente sugirió que haga para que otras personas obtengan el mismo error. Entonces, realmente me gustaría saber, ¿qué línea lo hizo funcionar?

Aquí está la salida si esto ayuda:

06-29 08:37:23.680: E/AndroidRuntime(1225): FATAL EXCEPTION: main 
06-29 08:37:23.680: E/AndroidRuntime(1225): java.lang.RuntimeException: Unable to instantiate activity  ComponentInfo{com.upliftly.android/com.upliftly.android.UpliftlyActivity}: java.lang.NullPointerException 
06-29 08:37:23.680: E/AndroidRuntime(1225):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1879) 
06-29 08:37:23.680: E/AndroidRuntime(1225):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1980) 
06-29 08:37:23.680: E/AndroidRuntime(1225):  at android.app.ActivityThread.access$600(ActivityThread.java:122) 
06-29 08:37:23.680: E/AndroidRuntime(1225):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1146) 
06-29 08:37:23.680: E/AndroidRuntime(1225):  at android.os.Handler.dispatchMessage(Handler.java:99) 
06-29 08:37:23.680: E/AndroidRuntime(1225):  at android.os.Looper.loop(Looper.java:137) 
06-29 08:37:23.680: E/AndroidRuntime(1225):  at android.app.ActivityThread.main(ActivityThread.java:4340) 
06-29 08:37:23.680: E/AndroidRuntime(1225):  at java.lang.reflect.Method.invokeNative(Native Method) 
06-29 08:37:23.680: E/AndroidRuntime(1225):  at java.lang.reflect.Method.invoke(Method.java:511) 
06-29 08:37:23.680: E/AndroidRuntime(1225):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 
06-29 08:37:23.680: E/AndroidRuntime(1225):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 
06-29 08:37:23.680: E/AndroidRuntime(1225):  at dalvik.system.NativeStart.main(Native Method) 
06-29 08:37:23.680: E/AndroidRuntime(1225): Caused by: java.lang.NullPointerException 
06-29 08:37:23.680: E/AndroidRuntime(1225):  at android.content.ContextWrapper.getApplicationContext(ContextWrapper.java:101) 
06-29 08:37:23.680: E/AndroidRuntime(1225):  at com.upliftly.android.UpliftlyActivity.<init>(UpliftlyActivity.java:19) 
06-29 08:37:23.680: E/AndroidRuntime(1225):  at java.lang.Class.newInstanceImpl(Native Method) 
06-29 08:37:23.680: E/AndroidRuntime(1225):  at java.lang.Class.newInstance(Class.java:1319) 
06-29 08:37:23.680: E/AndroidRuntime(1225):  at android.app.Instrumentation.newActivity(Instrumentation.java:1023) 
06-29 08:37:23.680: E/AndroidRuntime(1225):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1870) 
06-29 08:37:23.680: E/AndroidRuntime(1225):  ... 11 more 
+0

¿Puedes publicar tu manifiesto? –

Respuesta

8

Por lo general, cuando se ve un seguimiento de la pila como el que ha publicado, debe centrarse en las líneas después de la última

Caused by: 

línea. Después de eso, detecte la línea que tiene su nombre de paquete y es (en la mayoría de los casos) esa línea que causó la excepción de su código. En el seguimiento de pila que usted envió, esa línea es

at com.upliftly.android.UpliftlyActivity.<init>(UpliftlyActivity.java:19) 
+0

Gracias, estaba teniendo problemas para interpretar lo que Logcat estaba tratando de decirme. Ahora lo sé, y esto me ayudó a aislar el error y solucionar el problema. –

+0

Me alegro de haber podido ayudar :) – Angelo

7

Busque el nombre del paquete de tu aplicación (supongo que es com.uplifty.android):

at com.upliftly.android.UpliftlyActivity.<init>(UpliftlyActivity.java:19) 
0

en el Logcat que va a dar el nombre del paquete y el nombre de la actividad con el número de línea de .A continuación, es necesario observar que la línea particular en que cuáles son las variables disponibles, entonces necesita verificar las variables y sus identificadores xml correspondientes. entonces con la ayuda de esto puede evitar este error. Creo que en su Logcat publicado

at com.upliftly.android.UpliftlyActivity.<init>(UpliftlyActivity.java:19) 

la línea anterior parece ser la línea de su actividad en la que pueda cheque y evitar el error.

1

igual que dos de las respuestas dijeron: imagen para su nombre de paquete como en este ejemplo:

at com.upliftly.android.UpliftlyActivity.<init>(UpliftlyActivity.java:19) 

El paréntesis indica en qué archivo Java y qué línea se produce el error en. Entonces en este caso UpliftlyActivity.java línea 19.

Aunque el error en su Manifiesto o en los archivos xml no le mostrará un archivo o número de línea donde está el error, por lo que son más difíciles de encontrar.

Cuestiones relacionadas