Según mi entendimiento, no puedes cambiar el ID de Android sin acceso root o sin realizar un restablecimiento de fábrica.
Para mi referencia personal y la de futuros visitantes, explicaré lo que preguntaste en el comentario:
¿Un restablecimiento de fábrica también llevaría a un ID específico de la aplicación diferente?
La documentación de Android no es muy clara al respecto:
"El valor puede cambiar si se realiza un restablecimiento de fábrica en el dispositivo o si cambia la clave de firma de un APK."
Como expliqué en mi respuesta a ¿Dónde se almacena el "android_id" y cuándo cambia?, desde Android 8 cada aplicación recibe un ID de Android único que se guarda en el archivo:
/data/system/users//settings_ssaid.xml
Dado que el archivo no es accesible sin acceso root, no es posible cambiar el ID para una aplicación específica.
El código fuente de Android 11 muestra que el ID específico de Android de la aplicación se genera en base a dos parámetros: un ID aleatorio generado en el primer uso para identificar un ID de usuario (en perfiles de usuario múltiples o perfiles laborales) y la clave de firma de la aplicación.
Dado que el ID de usuario se aleatoriza después de un restablecimiento de fábrica, el ID específico de Android de la aplicación también debería cambiar.
Sin acceso root y restablecimiento de fábrica, lo único que podemos cambiar son las claves de firma de la aplicación, lo cual no siempre es factible y requiere ciertas habilidades de hackeo.
Con acceso root puedes editar el archivo mencionado anteriormente. Contiene el ID de usuario así como los IDs específicos de Android de la aplicación. Simplemente cambiar el ID de Android hará el truco.
Pero si reinstalas o actualizas la aplicación, el ID de Android original (creado por el sistema operativo Android) volverá (ya que el ID de usuario generado aleatoriamente y la clave de firma de la aplicación no cambian). Por lo tanto, necesitarás editar el archivo nuevamente. O puedes eliminar también el ID de usuario del archivo (la línea con name="userkey"
) lo cual hace que los cambios sean permanentes.
Después de realizar cambios en el archivo, puede ser necesario reiniciar si el marco de Android está almacenando en caché los valores en algún lugar.
0 votos
¿Cómo sabes que cambiar este ID es lo que necesitas? Por lo general, las aplicaciones modernas ya no pueden utilizar el ID del dispositivo. En su lugar, se suele utilizar el ID publicitario, que se puede restablecer en la configuración de Google de Android. Ver source.android.com/devices/tech/config/immutable-device-ids
1 votos
@Robert, tal vez me equivoqué. Pensé que las aplicaciones modernas ya no pueden utilizar el número IMEI. Con "ID de dispositivo" en mi publicación me refería al "ID de Android", que creo que sí están permitidas de usar. No sabía acerca del ID de publicidad... lo revisaré
1 votos
Lo siento, el enlace solo trataba sobre los IDs estáticos, no cubriendo el ANDROID_ID. Este es el enlace correcto: developer.android.com/about/versions/oreo/…
0 votos
@Robert No creo que el ID de publicidad sea lo que necesito, ya que el problema ocurre en diferentes cuentas de Google en mi teléfono (supongo que el ID de publicidad es diferente para diferentes cuentas de Google). Por lo tanto, creo que utiliza el ID de Android.