상세 컨텐츠

본문 제목

Android UUID 가져오기

Android.. Story

by HeyLee 2025. 6. 23. 09:42

본문

 

"Android App Permissions" payload 자체로는 앱이 UUID(사용자 고유 식별자 등)를 직접적으로 가져올 수는 없습니다. 하지만, 다음과 같은 권한을 통해 간접적으로 UUID 역할을 할 수 있는 정보는 수집할 수 있습니다.

대표적인 UUID 유사 정보와 필요한 권한:

정보 종류설명권한
Android ID Settings.Secure.ANDROID_ID 값. 디바이스마다 다르며 앱 삭제 후 재설치하면 바뀔 수도 있음 (Android 8 이상은 동일함). 권한 불필요
IMEI (전화기 고유번호) 진짜 고유 ID지만 Android 10부터 제한됨. READ_PHONE_STATE (Android 10 이상에서는 제한됨)
Advertising ID (광고 ID) 사용자 추적 목적으로 사용되는 Google의 ID 권한 불필요 (Google Play 서비스 API 필요)
MAC 주소 Wi-Fi MAC 주소 등은 Android 6부터 접근 제한 사용 불가 또는 제한적
UUID 생성 앱 내에서 UUID.randomUUID().toString() 같은 방식으로 자체 생성 가능 권한 불필요 (앱 자체 생성)

 

✅ ANDROID_ID가 동일하게 유지되는 조건

조건ANDROID_ID 값 유지 여부
앱 재설치 변하지 않음
앱 업데이트 변하지 않음
단말기 재부팅 변하지 않음
동일한 사용자 계정 유지 변하지 않음
 

즉, 앱 레벨에서 ANDROID_ID를 얻는다면, 기기 초기화나 사용자 계정 변경이 없는 한 계속 동일한 값을 유지합니다.


❌ ANDROID_ID가 변경되는 조건

조건설명
공장 초기화 (Factory Reset) 내부 저장소와 함께 Secure Settings도 초기화되므로 새로운 ANDROID_ID가 생성됩니다.
다른 사용자 프로필 사용 동일한 기기라도 사용자 프로필(예: Work profile, Guest 등)이 다르면 ANDROID_ID도 다릅니다.
Android 8.0(Oreo) 이상에서의 앱 서명 변경 Android 8 이상에서는 각 앱 패키지+서명 조합마다 별도의 ANDROID_ID가 할당됩니다. 만약 앱의 서명이 바뀌면 ANDROID_ID도 변경될 수 있습니다.
Android 10(Q) 이상에서 여러 앱이 사용자 ID를 공유하지 않는 경우 보안 강화로 인해 동일한 앱이라도 사용자 ID를 공유하지 않으면 ANDROID_ID가 달라질 수 있습니다. 하지만 일반적인 단일 앱에서는 이 문제는 발생하지 않음.

정리

  • 앱이 동일한 패키지명과 서명을 유지하며, 기기가 공장 초기화되지 않았다면 ANDROID_ID는 유지됩니다.
  • 앱을 삭제했다가 다시 설치해도 동일한 값을 얻을 수 있습니다.
  • UUID로 감싸서 사용하는 경우, 이 UUID는 ANDROID_ID 값에 의존하므로, ANDROID_ID가 변경되면 UUID도 달라지게 됩니다.

 

관련글 더보기

댓글 영역