Найти в Дзене
Иван Корнев

Android ID (ANDROIDID): что это и как получить

** Android ID — 64‑битное hex‑значение из Settings.Secure.ANDROIDID, используемое как системный идентификатор устройства/профиля. Его поведение меняется с Android 8+: значение «скоуп‑зависимое» (уникально для комбинации устройство+профиль+ключ подписи), поэтому не всегда годится для кросс‑приложного трекинга. Короткие шаги для получения и практические замечания: - В приложении (рекомендуется для разработчиков): val androidId = Settings.Secure.getString(context.contentResolver, Settings.Secure.ANDROID_ID) (нет спец‑разрешения, но учитывайте поведение на Android ≥8 и возможный null). - Через ADB (удобно для отладки): adb shell settings get secure android_id или adb shell content query --uri content://settings/secure --where "name='android_id'" - Особенности версии Android: - Android <8.0: обычно постоянен для пользователя до сброса. - Android ≥8.0: зависит от профиля и ключа подписи, может отличаться между приложениями. - На кастомных прошивках возможны некорректные или одинаковые

Android ID (ANDROIDID): что это и как получить**

Android ID — 64‑битное hex‑значение из Settings.Secure.ANDROIDID, используемое как системный идентификатор устройства/профиля. Его поведение меняется с Android 8+: значение «скоуп‑зависимое» (уникально для комбинации устройство+профиль+ключ подписи), поэтому не всегда годится для кросс‑приложного трекинга.

Короткие шаги для получения и практические замечания:

- В приложении (рекомендуется для разработчиков):

val androidId = Settings.Secure.getString(context.contentResolver, Settings.Secure.ANDROID_ID)

(нет спец‑разрешения, но учитывайте поведение на Android ≥8 и возможный null).

- Через ADB (удобно для отладки):

adb shell settings get secure android_id

или

adb shell content query --uri content://settings/secure --where "name='android_id'"

- Особенности версии Android:

- Android <8.0: обычно постоянен для пользователя до сброса.

- Android ≥8.0: зависит от профиля и ключа подписи, может отличаться между приложениями.

- На кастомных прошивках возможны некорректные или одинаковые значения; иногда — null.

- Когда не использовать:

- Не применять как единственный фактор для безопасности, а также для межприложного трекинга/рекламы.

- Не логировать в публичные логи или URL.

- Альтернативы:

- App Set ID для наборов собственных приложений, Firebase Installation ID для привязки к облаку, Google Advertising ID для рекламных сценариев.

Вывод: Android ID удобен для локальных и внутренних задач, но для надёжной кросс‑приложной или безопасной идентификации лучше использовать серверную привязку или специализированные идентификаторы.

Подробнее: https://www.ivan-kornev.ru/articles/android/security/android-id-what-is-how-to-get