En Android 10, se presentó la función Actualización dinámica del sistema (DSU), que permite hacer lo siguiente:
- Descarga una nueva GSI (u otra imagen del sistema Android) en tu dispositivo.
- Crea una nueva partición dinámica.
- Carga en la partición nueva la GSI que se descargó.
- Inicia la GSI como un SO invitado en el dispositivo.
La función DSU también te permite alternar fácilmente entre la imagen del sistema actual y la GSI, para que puedas probar la GSI sin correr el riesgo de dañar la imagen del sistema actual.
Requisitos de DSU
DSU depende de la función de partición dinámica de Android y requiere que las GSI estén firmadas por Google o tus OEM como imagen del sistema confiable.
El fabricante de tu dispositivo proporciona la función DSU. Consulta la página de ayuda del fabricante para conocer la disponibilidad. Google habilitó DSU en dispositivos Pixel 3 y más recientes a partir de la versión Beta 4 de Android 10.
Cómo instalar GSI con la función DSU y la línea de comandos
En esta sección, se describe cómo instalar una GSI con la función DSU y la línea de comandos.
Cómo iniciar la función DSU
Inicia la función DSU con la herramienta adb
.
Descarga una GSI desde la página de versiones de GSI u otro servidor de imágenes GSI.
Comprime la GSI con gzip.
gzip -c system_raw.img > system_raw.gz
Envía la GSI al dispositivo.
adb push system_raw.gz /storage/emulated/0/Download/
Inicia la función DSU con
adb
.adb shell am start-activity \ -n com.android.dynsystem/com.android.dynsystem.VerificationActivity \ -a android.os.image.action.START_INSTALL \ -d file:///storage/emulated/0/Download/system_raw.gz \ --el KEY_SYSTEM_SIZE $(du -b system_raw.img|cut -f1) \ --el KEY_USERDATA_SIZE 8589934592
En una notificación como esta, se muestra el estado de la instalación.
Cómo iniciar la función en la GSI
Después de que DSU instale la GSI, aparecerá un menú como una notificación persistente dentro del panel lateral de notificaciones del sistema (consulta la figura 1).
En este punto, puedes elegir entre las siguientes opciones:
- Para iniciar la función en la GSI, presiona Reiniciar.
- Para borrar la GSI, presiona Descartar.
Cómo volver a la imagen del sistema original del dispositivo
Una vez que termines de probar tu app con la GSI, puedes realizar un reinicio en frío. para volver a iniciar el sistema en su imagen original.
Cuando configuras el próximo reinicio para usar una GSI, puedes habilitar el modo permanente a fin de que la GSI permanezca instalada durante varios ciclos de inicio (hasta que se la descarte). De lo contrario, puedes inhabilitar el modo permanente para hacer que solo se use durante un ciclo de inicio.
El siguiente comando habilita el modo permanente:
adb shell gsi_tool enable
Los siguientes comandos inhabilitan el modo permanente:
adb shell gsi_tool disable
adb shell gsi_tool enable -s
adb shell gsi_tool disable
Cómo instalar GSI con la función DSU y DSU Loader
En Android 11 se introdujo DSU Loader, una herramienta disponible en las opciones para desarrolladores del dispositivo que te permite descargar, instalar y administrar GSI completamente a través de la IU del sistema.
Para instalar una GSI con DSU Loader, sigue estos pasos en un dispositivo que ejecute Android 11 o versiones posteriores:
- Habilita Opciones para desarrolladores en tu dispositivo.
- Abre la app de Configuración del dispositivo y presiona Opciones para desarrolladores > DSU Loader.
Elige la GSI que quieras instalar en el dispositivo.
Acepta los Términos y Condiciones de la GSI.
Una vez que hayas aceptado los Términos y Condiciones, se comenzará a descargar la GSI que seleccionaste. Puedes verificar el estado de la descarga en la notificación de DSU.
Cuando finalice la descarga, presiona Reiniciar para iniciar la GSI.
Cuando quieras volver a la imagen del sistema original de tu dispositivo, presiona Reiniciar en la notificación del sistema de DSU.
Envía comentarios
Tus comentarios nos ayudan a mejorar DSU y otras funciones de la GSI. Comparte lo que piensas e informar problemas de GSI mediante la presentación de GSI insectos y debatir sobre temas en Stack Overflow.