- ¿Dónde se almacena el valor
android_id
?
En Android 5 y anteriores, esto se almacenaba en el espacio de nombres secure
de la Configuración del dispositivo. Por lo tanto, puedes extraerlo usando:
~$ contenido de consulta --uri content://settings/secure --proyección valor --where "nombre='android_id'"
O:
~$ settings get secure android_id
O lee directamente la tabla secure
del archivo de base de datos settings.db
. Para el propietario del dispositivo:
~# sqlite3 /data/user/0/com.android.providers.settings/databases/settings.db 'select * from secure where name="android_id"'
Desde Android 6, la configuración se guarda en archivos xml
. Para el propietario del dispositivo:
~# grep android_id /data/system/users/0/settings_secure.xml
Desde Android 8, android_id
es "único para cada combinación de clave de firma de la aplicación, usuario y dispositivo" para negar "a los desarrolladores la capacidad de rastrear a los usuarios a través de múltiples aplicaciones". Estos IDs únicos están almacenados en /data/system/users//settings_ssaid.xml
.
- ¿Cuándo se inicializa el valor de
android_id
por primera vez?
- ¿En qué caso cambia el valor de
android_id
?
Como es evidente, android_id
"se genera de forma aleatoria cuando el usuario configura el dispositivo por primera vez y debería permanecer constante durante toda la vida útil del dispositivo del usuario" a menos que se realice un restablecimiento de fábrica que borre todas las configuraciones.
En Android 8+ el android_id
específico de la aplicación "puede cambiar si se realiza un restablecimiento de fábrica en el dispositivo o si cambia la clave de firma del APK".
Teniendo todo en cuenta, no parece una buena idea construir un device_id
con android_id
.
0 votos
Por favor, vea esta respuesta, especialmente los enlaces a developer.android.com.
0 votos
¿Dónde puedo encontrar el ANDROID_ID en mi dispositivo?