마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

앱이 실행이 되지 않습니다(has stopped가 뜸)

0 추천
안드로이드 스튜디오 2.3.3 버전에서 작업을 하다가 파일을 집으로 가져와 3.0.1버전에서 작업을 하고 있었습니다. 그런데 AVD로 앱이 아예 실행이 되지 않길래 고민하다 작업한 모든 코드를 주석처리하고 화면만 뜨게끔 하고 컴파일을 했는데도 어플이 실행되지 않습니다ㅜㅜ 왜그럴까요?

Logcat

06-22 12:48:03.799 21720-21720/? E/AndroidRuntime: FATAL EXCEPTION: main
                                                   java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.administrator.a2048/com.example.administrator.a2048.MainActivity}: java.lang.NullPointerException
                                                       at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1880)
                                                       at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
                                                       at android.app.ActivityThread.access$600(ActivityThread.java:123)
                                                       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
                                                       at android.os.Handler.dispatchMessage(Handler.java:99)
                                                       at android.os.Looper.loop(Looper.java:137)
                                                       at android.app.ActivityThread.main(ActivityThread.java:4424)
                                                       at java.lang.reflect.Method.invokeNative(Native Method)
                                                       at java.lang.reflect.Method.invoke(Method.java:511)
                                                       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
                                                       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
                                                       at dalvik.system.NativeStart.main(Native Method)
                                                    Caused by: java.lang.NullPointerException
                                                       at android.app.Activity.findViewById(Activity.java:1794)
                                                       at com.example.administrator.a2048.MainActivity.<init>(MainActivity.java:25)
                                                       at java.lang.Class.newInstanceImpl(Native Method)
                                                       at java.lang.Class.newInstance(Class.java:1319)
                                                       at android.app.Instrumentation.newActivity(Instrumentation.java:1023)
                                                       at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1871)
                                                       at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
                                                       at android.app.ActivityThread.access$600(ActivityThread.java:123)
                                                       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
                                                       at android.os.Handler.dispatchMessage(Handler.java:99)
                                                       at android.os.Looper.loop(Looper.java:137)
                                                       at android.app.ActivityThread.main(ActivityThread.java:4424)
                                                       at java.lang.reflect.Method.invokeNative(Native Method)
                                                       at java.lang.reflect.Method.invoke(Method.java:511)
                                                       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
                                                       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
                                                       at dalvik.system.NativeStart.main(Native Method)
우한 (120 포인트) 님이 2018년 6월 22일 질문

1개의 답변

0 추천

at com.example.administrator.a2048.MainActivity.<init>(MainActivity.java:25)

MainActivity.java의 25번째 줄에서 findViewById를 하는 것 같은데요,

거기서 id가 잘못되면 객체를 못가져와서 null 이 됩니다.

그 이후에 그 객체를 사용하려면 당연히 안되죠.

id를 체크해 보세요.

주로 하는 실수가 layout.xml을 엉뚱한 것을 불러오거나, 
(실제는 layout1.xml 인데, 외부소스를 그대로 복사 붙여넣기 하면서 엉뚱한 b.xml를 불러온다던지)
layout1.xml 에 없는 id를 불러온다던지 하는 등의 이유로 오류가 발생하죠.

Will Kim (43,170 포인트) 님이 2018년 6월 23일 답변
...