2012-06-29 28 views
5

Tôi nhận được một java.lang.NullPointerException ngay khi ứng dụng khởi chạy và nó tắt. Lỗi từ trình mô phỏng là "Rất tiếc, tên ứng dụng đã dừng". Nó đã được làm việc tốt, cho đến khi tôi đã viết một loạt các mã mới, và thay đổi biểu hiện. Hy vọng rằng nó không phải là biểu hiện, nhưng câu hỏi của tôi là, làm thế nào tôi có thể tìm ra những dòng mã là vấn đề? Việc kết xuất dấu vết có nghĩa là không có gì với tôi, và mặc dù nó dài dòng, có ... 11 hơn không cho tôi thấy toàn bộ sự việc.Cách lấy dòng mã cụ thể đã phát hiện lỗi

Tôi thực sự không biết ý nghĩa của lỗi đó. Tôi đã tìm kiếm nó, nhưng có vẻ như là một danh sách những điều nó có thể có ý nghĩa. Tôi đã thử Dự án> Sạch, tôi đã cố gắng gây rối với bản kê khai một lần nữa, nhưng tôi vẫn gặp lỗi. Tôi đã kiểm tra/bỏ chọn các thư viện bên ngoài. Chỉ cần làm những gì mọi người đã đề xuất để làm cho những người khác nhận được cùng một lỗi. Vì vậy, tôi thực sự muốn biết, những gì dòng thiết lập nó đi?

Đây là kết quả nếu điều này giúp:

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

Bạn có thể đăng tệp kê khai của mình không? –

Trả lời

8

Thông thường khi bạn nhìn thấy một vết đống như trang bạn đã đăng, bạn nên tập trung vào các dòng sau số

Caused by: 

mới nhất. Sau đó, phát hiện dòng có tên gói của bạn và đó là (trong hầu hết các trường hợp) dòng đó gây ra ngoại lệ từ mã của bạn. Trong stack trace mà bạn đăng, dòng đó là

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

Cảm ơn, tôi đã gặp khó khăn khi giải thích những gì Logcat đang cố gắng nói với tôi. Bây giờ tôi biết, và điều này đã giúp tôi cách ly lỗi và khắc phục sự cố. –

+0

Vui vì tôi có thể giúp :) – Angelo

7

Hãy tìm tên gói ứng dụng của bạn (tôi đoán nó là com.uplifty.android):

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

trong logcat nó sẽ cung cấp cho các tên gói và tên hoạt động của bạn với số dòng Sau đó, bạn cần phải quan sát dòng cụ thể ở chỗ các biến có sẵn là gì sau đó bạn cần kiểm tra các biến số và id xml tương ứng của nó. vì vậy với sự trợ giúp của điều này bạn có thể tránh được lỗi này. tôi nghĩ rằng trong logcat posted bạn

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

dòng trên có vẻ là dòng hoạt động của bạn trong đó bạn có thể kiểm tra và tránh lỗi.

1

Giống như hai trong số những câu trả lời cho biết: nhìn cho tên gói của bạn như ví dụ sau:

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

Các ngoặc cho bạn biết trong đó tập tin Java và những gì dòng lỗi xảy ra trên. Vì vậy, trong trường hợp này dòng UpliftlyActivity.java 19.

Mặc dù lỗi trong bạn Tệp kê khai hoặc trong tệp xml sẽ không hiển thị cho bạn một tệp hoặc số dòng nơi lỗi, vì vậy chúng sẽ khó tìm hơn.

Các vấn đề liên quan