[에러해결] Neither user 10083 nor current process has android.permission.READ_PHONE_STATE



java.lang.RuntimeException: Unable to start activity ComponentInfo{com.stu.gohn.gonggongdataapp/com.stu.gohn.gonggongdataapp.MainActivity}: java.lang.SecurityException: getDeviceId: Neither user 10083 nor current process has android.permission.READ_PHONE_STATE.
                                                                                at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2665)
                                                                                at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726)
                                                                                at android.app.ActivityThread.-wrap12(ActivityThread.java)
                                                                                at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477)
                                                                                at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                                at android.os.Looper.loop(Looper.java:154)
                                                                                at android.app.ActivityThread.main(ActivityThread.java:6119)
                                                                                at java.lang.reflect.Method.invoke(Native Method)
                                                                                at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
                                                                                at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
                                                                             Caused by: java.lang.SecurityException: getDeviceId: Neither user 10083 nor current process has android.permission.READ_PHONE_STATE.
                                                                                at android.os.Parcel.readException(Parcel.java:1684)
                                                                                at android.os.Parcel.readException(Parcel.java:1637)
                                                                                at com.android.internal.telephony.ITelephony$Stub$Proxy.getDeviceId(ITelephony.java:4454)
                                                                                at android.telephony.TelephonyManager.getDeviceId(TelephonyManager.java:848)
                                                                                at com.stu.gohn.gonggongdataapp.MainActivity.getUniqueID(MainActivity.java:226)
                                                                                at com.stu.gohn.gonggongdataapp.MainActivity.onCreate(MainActivity.java:121)
                                                                                at android.app.Activity.performCreate(Activity.java:6679)
                                                                                at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
                                                                                at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2618)
                                                                                at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726) 
                                                                                at android.app.ActivityThread.-wrap12(ActivityThread.java) 
                                                                                at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477) 
                                                                                at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                                                at android.os.Looper.loop(Looper.java:154) 
                                                                                at android.app.ActivityThread.main(ActivityThread.java:6119) 
                                                                                at java.lang.reflect.Method.invoke(Native Method) 
                                                                                at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886) 
                                                                                at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776) 

위와 같은 에러가 발생 할 때가 있습니다.

위와 같은 에러는 sdk 6.0 이상 버전에서 발생하는 문제인 것 같습니다.



위와 같이 에러가 나서 정지가 되더라구요. 

이러한 경우에 targetSDK 를 변경해줍니다. 




저의 기존 targetSdkVersion 은 25 였는데 이를 15 로 바꾸어서 빌드해보면?







위와 같이 빌드가 매우 잘 되는 것을 확인 할 수 있습니다. 
완벽한 해결책인지 아닌지는 잘 모르겠네요.

제 디바이스가 5.0.1 버전인데 이제 너무 바뀌어서 디바이스를 바꾸긴 바꿔야 겠는데, 선뜻 잘 바꾸기가 쉽지 않네요.