개발자 블로그
Google Play 새로운 권한 추가됨 - android.permission.READ_PHONE_STATE 문제 해결 본문
Google Play 새로운 권한 추가됨 - android.permission.READ_PHONE_STATE 문제 해결
로이드.Roid 2018. 3. 24. 16:25Google 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 버전을 사용하면 된다.
'프로그래밍 > 안드로이드' 카테고리의 다른 글
구글의 RECEIVE_SMS 퍼미션 제거 권고 대응 (1) | 2018.12.30 |
---|---|
Chrome Custom Tabs 사용 시 Referrer 기록하기 (0) | 2018.07.17 |
파일이름으로 사용불가능한 특수문자 제거하기 (0) | 2018.01.25 |
안드로이드 스튜디오 3 버전은 참 괜찮은 것 같다. (0) | 2018.01.18 |
안드로이드 OTF vs TTF 폰트 비교 (0) | 2018.01.01 |