정상에서 IT를 외치다

[Android_ID] Android 0 대응 하기 - Android Id 변경 본문

안드로이드

[Android_ID] Android 0 대응 하기 - Android Id 변경

Black-Jin 2018. 8. 23. 11:47
반응형

안녕하세요 블랙진입니다.


저는 디바이스를 구분하는 고유 번호로  ANDROID_ID 를 사용했습니다.


android_id = Settings.Secure.getString(

getApplicationContext().getContentResolver(), Settings.Secure.ANDROID_ID);


ANDROID_ID 는 디바이스가 최초 Boot 될 때 생성 되는 64-bit 값입니다. 

이는 디바이스를 공장초기화 하지 않는 이상 바뀌지 않는 고유 값이라고 알고 있었습니다.


하지만! 이 값이 변하는 청천벽력같은 경우를 보았습니다!!!


Android 8.0 (오레오) 이상 버전에서 부터 정책이 바뀌게 되었는데요.


Android 8.0 개인 정보 보호 정책


위 링크를 보시면 아래와 같은 개인정보 보호정책이 있습니다.


중간 내용을 보시면


  • Android 8.0를 실행하는 기기에 설치된 앱의 경우 ANDROID_ID의 값은 이제 사용자뿐 아니라 앱 서명 키별로 범위가 지정됩니다. ANDROID_ID의 값은 앱 서명 키, 사용자 및 기기의 각 조합에 대해 고유합니다. 따라서 동일한 기기에서 실행 중인 다른 서명 키가 있는 앱은 (사용자가 동일하더라도) 더 이상 동일한 Android ID를 보지 못합니다.

위와 같이 적혀 있는걸 확인하실 수 있습니다.

앱 서명 키별로 ANDROID_ID 의 범위가 지정된다는 것을 알 수 있는데요. 
릴리즈 버전과 디버깅 버전 APK 의 Android ID 가 다를 수 있다는 것입니다.

제가 확인해본 결과 Android 8.0 애서는 마켓에서 받았던 앱과 디버깅 APK 의 ANDROID_ID 가 다른것을 확인 할 수 있었습니다.

앱 사용자들은 디버깅APK 를 다운 받을 일이 없으니 서비스를 운영하는데에는 큰 문제는 없을 것 같다는게 제 의견입니다. ㅎㅎ


반응형
Comments