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 버전인데 이제 너무 바뀌어서 디바이스를 바꾸긴 바꿔야 겠는데, 선뜻 잘 바꾸기가 쉽지 않네요.