La función Restablecer credenciales del Administrador de credenciales garantiza una transición sin problemas para los usuarios que se cambian a un dispositivo nuevo. Cuando pruebes la función, puedes usar cualquiera de los siguientes enfoques:
- Dispositivos separados: Usa un dispositivo de origen para realizar la copia de seguridad y un dispositivo de destino separado para realizar el restablecimiento, o bien usa dos emuladores de Android Studio separados.
- Un solo dispositivo: Usa un dispositivo físico o un emulador de Android Studio. Después de que la app cree una copia de seguridad de sus datos, desinstálala y vuelve a instalarla. Luego, realiza el restablecimiento.
En esta guía, se describe cómo puedes usar Android Studio para probar las credenciales de restablecimiento en una app depurable en un emulador, simulando ambas situaciones de dispositivos independientes o un solo dispositivo.
Requisitos previos
Para usar la función de copia de seguridad y restablecimiento de Android Studio con el objetivo de probar las credenciales de restablecimiento, verifica los siguientes requisitos previos:
- Android Studio Otter | 2025.2.1 o una versión posterior
- Un dispositivo virtual o físico que ejecute Android 9 (nivel de API 28) o una versión posterior con una imagen del sistema de Google Play y la versión
242200000o una posterior de los Servicios de Google Play (verifica conadb shell dumpsys package com.google.android.gms | grep versionCode) - Una Cuenta de Google a la que se accedió en el dispositivo de prueba o emulador, con un bloqueo de pantalla con PIN, patrón o contraseña configurado en Configuración > Seguridad para que la encriptación de extremo a extremo (E2EE) en la nube esté activa y no se arroje
E2eeUnavailableException - Una app compilada con
debuggable trueo que se ejecuta en mododebug. La depuración está habilitada de forma predeterminada para los emuladores.
Cómo usar la función de copia de seguridad y restablecimiento de Android Studio
Para probar la funcionalidad de Restore Credentials con Android Studio, primero crea una copia de seguridad de los datos de un dispositivo y, luego, restablece los datos de la app en otro dispositivo. Después de restablecer la app, el estado de autenticación se restablece automáticamente.
Cómo crear una copia de seguridad de los datos de autenticación en Android Studio
Para probar el flujo de copia de seguridad en Android Studio, completa los siguientes pasos:
- Ejecuta tu app en el emulador.
- Accede a la app con cualquier mecanismo de autenticación (por ejemplo, nombre de usuario
y contraseña, llaves de acceso o Acceder con Google) para que la app llame a
createCredential()conCreateRestoreCredentialRequest. - Haz clic en Backup App Data en las opciones del dispositivo que se encuentran en la parte superior de la ventana del dispositivo en ejecución.
Figura 1: Copia de seguridad de los datos de la app en Android Studio En Tipo de copia de seguridad, selecciona De dispositivo a dispositivo o Nube.
Haz clic en Aceptar.
Prueba la autenticación restablecida
Una vez que se complete la copia de seguridad, usa el mismo dispositivo para probar el paso de restablecimiento o usa otro dispositivo.
Para probar el flujo de restablecimiento en Android Studio, completa los siguientes pasos:
Para realizar pruebas con el mismo dispositivo, desinstala y vuelve a instalar la app (
adb uninstall <package_name>seguido deadb install <path_to_apk>). De esta manera, se borrarán todos los datos de app locales y la clave de restablecimiento anterior del dispositivo. Para usarla en un dispositivo nuevo, instala la app en el dispositivo nuevo.Para probar la restauración en segundo plano de nivel 1 (
BackupAgent.onRestoreFinished()) sin iniciar primero elActivity, abre Run > Edit Configurations en Android Studio y establece Launch Options > Launch en Nothing antes de la instalación. Si inicias la app antes de ejecutar Restore App Data, se te redireccionará a la pantalla de autenticación porque la clave de restablecimiento aún no se restableció en el dispositivo.Haz clic en Restore App data en las opciones del dispositivo de la ventana Dispositivos en ejecución y selecciona la copia de seguridad que creaste recientemente.
Figura 2: Restaurar datos de app en Android Studio Inspecciona Logcat para confirmar que
BackupAgent.onRestoreFinished()recuperó elRestoreCredentialen segundo plano o abre la app para verificar que el usuario haya accedido automáticamente.
Realiza pruebas con adb o paquetes de pruebas automatizadas de JUnit 5
Además de la acción de la IU de Android Studio, puedes probar los flujos de copia de seguridad y restablecimiento desde la línea de comandos o en la integración continua (CI):
- Pruebas de línea de comandos con
bmgr: En un dispositivo físico o un emulador sin interfaz gráfica, habilita el administrador de copias de seguridad (adb shell bmgr enable true), activa una copia de seguridad (adb shell bmgr backupnow <package_name>), reinstala la app, enumera los conjuntos de copias de seguridad disponibles (adb shell bmgr list sets) y activa un restablecimiento (adb shell bmgr restore <token> <package_name>). Para obtener todos los detalles, consulta Cómo probar la copia de seguridad y el restablecimiento. - Pruebas de host de JUnit 5 automatizadas (
androidx.test.backup): Escribe pruebas de JUnit 5 automatizadas conBackupRestoreControllerpara ejercitarBackupTransportMode.CLOUD_ENCRYPTEDyBackupTransportMode.DEVICE_TO_DEVICEen uno o dos dispositivos conectados. Para obtener instrucciones de configuración y pruebas de muestra, consulta Pruebas automatizadas de copia de seguridad y restablecimiento.