개발자 블로그

Google Play 새로운 권한 추가됨 - android.permission.READ_PHONE_STATE 문제 해결 본문

프로그래밍/안드로이드

Google Play 새로운 권한 추가됨 - android.permission.READ_PHONE_STATE 문제 해결

로이드.Roid 2018. 3. 24. 16:25

Google Play에서 앱 업데이트 버전을 출시하려고 했더니 갑자기 "새로운 권한"이 추가되었다고 경고를 보여준다.

'음.. 뭐지??' 

신규 Activity는 추가 했어도 권한(permission)을 추가한적은 없는것 같은데..??

특히나 READ_PHONE_STATE 권한은 "위험한 권한"으로 분류되기 때문에 사용자의 명시적인 권한 부여가 필요하다. 

안드로이드 권한 그룹 ☞ https://developer.android.com/guide/topics/security/permissions.html?hl=ko#normal-dangerous


혹시나 싶어서 AndroidManifest.xml 파일을 확인해 봤지만, "android.permission.READ_PHONE_STATE" 권한은 아래 코드에서 확인할 수 있듯이 요구하지 않고 있다.

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="com.android.vending.BILLING" />


잠깐 구글링을 해봤더니, 

1. "개인정보처리방침"을 등록하지 않아서 그렇다는 글이 있던데, 내 경우에는 해당사항이 없었다. 난 이미 등록했거든.

2. minSdkVersion, targetSdkVersion을 명시하지 않았거나, 매우 낮은 버전인 경우. 이 것 역시 나한테는 해당사항이 없다. minSdkVersion이 3~4정도인 경우에나 해당되는 것 같고. 난 15를 사용중이다.

3. 다른 라이브러리에서 요청한 경우.


답은 3번이었다. "다른 라이브러리". 꽤 많은 라이브러리를 사용중인데, 문제가 된 놈은 "com.google.android.gms:play-services-ads".

전에는 11.8.0 버전을 사용중이었고, 이번에 12.0.0으로 버전을 올렸더니, READ_PHONE_STATE 퍼미션이 자동으로 추가되는걸 확인했다.

왼쪽이 업데이트 전, 오른쪽이 업데이트 한 다음이다. "휴대전화 상태 및 ID 읽기" 권한이 추가된걸 확인할 수 있다.


해당 라이브러리가 왜 READ_PHONE_STATE 권한을 요구하는건지는 모르겠다. 다만 검색해보니 예전에도 같은 문제가 있었던 것 같다. 

관련글 ☞ https://issuetracker.google.com/issues/37120869


해결은 2가지 방법으로 해결할 수 있다.

1. com.google.android.gms:play-services-ads:12.0.0 버전 대신 예전 버전을 계속 사용

2. AndroidManifest.xml에서 READ_PHONE_STATE 권한을 remove


1번 방법은 뭐 따로 설명이 필요 없을 것 같고. 2번은 아래 코드를 AndroidManifest.xml 파일에 추가하면 된다.

<uses-permission android:name="android.permission.READ_PHONE_STATE" tools:node="remove"/>


혹시나 광고나 인앱구매 관련해서 문제가 생기지는 않았을까 테스트 해봤는데 구매도 이상 없는 것 같고, 테스트 광고 역시 잘 표시된다. 


2018.03.30 내용 추가

오늘 다시 확인해보니 이 문제를 수정한 버전이 출시되었다. 위 문제가 발생했던 라이브러리 버전은 12.0.0 버전이었고, 현재 최신 버전은 12.0.1 버전이다. (릴리즈 노트: https://developers.google.com/android/guides/releases)

결론적으로 com.google.android.gms:play-services-ads:12.0.1 버전을 사용하면 된다.


Comments