반응형
출처 : http://blog.naver.com/goodhorror/80101602787

프로그램이 죽는 경우라 하면 먼저 위와 같은 에러 메시지(Sorry! The application XXXX (process com.xxx.xxx.xxx) has stopped unexpectedly. Please try again. Force close)가 화면에 나타나는 경우를 말합니다.
이 경우 디버깅 화면의 LogCat 메시지를 살펴보면 다음과 같습니다. (로그캣이 뭔지 모르신다면 먼저프로젝트 실행과 디버깅 그리고 단말 세팅 이 글을 읽어보세요)

가장 가까운 마지막 부분 근처에 E 로 찍히고 빨간색으로 표시되는 메시지가 주욱 찍힙니다. 소스 어디에서 어떤 이유로 에러가 발생했는지를 표시해주는 로그로 에러의 해결을 위해 가장 중요한 부분입니다.
08-05 00:02:14.564: ERROR/AndroidRuntime(12848): Uncaught handler: thread main exiting due to uncaught exception
08-05 00:02:14.774: ERROR/AndroidRuntime(12848): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.android.apis/com.example.android.apis.view.Gallery1}: java.lang.NullPointerException
08-05 00:02:14.774: ERROR/AndroidRuntime(12848): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2268)
08-05 00:02:14.774: ERROR/AndroidRuntime(12848): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2284)
08-05 00:02:14.774: ERROR/AndroidRuntime(12848): at android.app.ActivityThread.access$1800(ActivityThread.java:112)
08-05 00:02:14.774: ERROR/AndroidRuntime(12848): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1692)
08-05 00:02:14.774: ERROR/AndroidRuntime(12848): at android.os.Handler.dispatchMessage(Handler.java:99)
08-05 00:02:14.774: ERROR/AndroidRuntime(12848): at android.os.Looper.loop(Looper.java:123)
08-05 00:02:14.774: ERROR/AndroidRuntime(12848): at android.app.ActivityThread.main(ActivityThread.java:3948)
08-05 00:02:14.774: ERROR/AndroidRuntime(12848): at java.lang.reflect.Method.invokeNative(Native Method)
08-05 00:02:14.774: ERROR/AndroidRuntime(12848): at java.lang.reflect.Method.invoke(Method.java:521)
08-05 00:02:14.774: ERROR/AndroidRuntime(12848): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:782)
08-05 00:02:14.774: ERROR/AndroidRuntime(12848): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:540)
08-05 00:02:14.774: ERROR/AndroidRuntime(12848): at dalvik.system.NativeStart.main(Native Method)
08-05 00:02:14.774: ERROR/AndroidRuntime(12848): Caused by: java.lang.NullPointerException
08-05 00:02:14.774: ERROR/AndroidRuntime(12848): at com.example.android.apis.view.Gallery1.onCreate(Gallery1.java:48)
08-05 00:02:14.774: ERROR/AndroidRuntime(12848): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1123)
08-05 00:02:14.774: ERROR/AndroidRuntime(12848): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2231)
08-05 00:02:14.774: ERROR/AndroidRuntime(12848): ... 11 more
주루룩 선택하고 에러 메시지를 카피&페이스트할 수 있습니다. 여기서 중요한 부분은 굵은 글씨로 표시해보았습니다. 널포인트 익셉션이 발생하고 소스의 어느 어느 위치에서 발생하는지를 표시합니다.
super.onCreate(savedInstanceState);
setContentView(R.layout.gallery_1);
// Reference the Gallery view
Gallery g = (Gallery) findViewById(R.id.add);
// Set the adapter to our custom adapter (below)
g.setAdapter(new ImageAdapter(this));
// Set a item click listener, and just Toast the clicked position
g.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView parent, View v, int position, long id) {
Toast.makeText(Gallery1.this, "" + position, Toast.LENGTH_SHORT).show();
}
});
// We also want to show context menu for longpressed items in the gallery
registerForContextMenu(g);
해당 소스의 관련 부분을 보고 어디에서 문제가 발생했는지를 확인합니다.
[출처] 안드로이드 디버그 android debug|작성자 귀족불곰
반응형
'Smart Phone > Android' 카테고리의 다른 글
안드로이드 이클립스에서 빌드 오류 (0) | 2010.08.20 |
---|---|
안드로이드 OS를 PC에서 사용하기 (0) | 2010.08.04 |
안드로이드를 컴퓨터에 설치 (0) | 2010.08.03 |
댓글