Actualización dinámica del sistema (DSU)

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 habilitar la marca de la función DSU

Antes de usar la función DSU, asegúrate de que esté habilitada la marca correspondiente. Puedes habilitarla siguiendo uno de estos métodos:

  • En un dispositivo con una compilación userdebug de Android, puedes habilitar la función en Configuración > Sistema > Opciones para desarrolladores > Marcas de función > settings_dynamic_system.
  • En otros dispositivos, usa el siguiente comando adb:

    adb shell setprop persist.sys.fflag.override.settings_dynamic_system true
    

Cómo iniciar la función DSU

Una vez que esté habilitada la función, deberás iniciarla con la herramienta adb.

  1. Descarga una GSI desde la página de versiones de GSI u otro servidor de imágenes GSI.

  2. Comprime la GSI con gzip.

    gzip -c system_raw.img > system_raw.gz
    
  3. Envía la GSI al dispositivo.

    adb push system_raw.gz /storage/emulated/0/Download/
    
  4. 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.

    Notificación que muestra la instalación de la GSI en curso

Cómo iniciar la función en la GSI

Figura 1: Notificación persistente que puedes usar para controlar DSU

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

Cuando hayas terminado de probar tu app con la GSI, reinicia el código 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:

  1. Habilita Opciones para desarrolladores en tu dispositivo.
  2. Abre la app de Configuración del dispositivo y presiona Opciones para desarrolladores > DSU Loader.
  3. Elige la GSI que quieras instalar en el dispositivo.

    Interfaz de DSU Loader para seleccionar una GSI

  4. 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.

  5. Cuando finalice la descarga, presiona Reiniciar para iniciar la GSI.

    Notificación de DSU con opciones para administrar la GSI

  6. Cuando quieras volver a la imagen del sistema original de tu dispositivo, presiona Reiniciar en la notificación del sistema de DSU.

    Notificación de DSU con una opción que permite reiniciar el dispositivo con la imagen del sistema original

Envía comentarios

Tus comentarios nos ayudan a mejorar DSU y otras funciones de la GSI. Para compartir tu opinión e informar problemas con la GSI, registra errores de la GSI, comenta sobre estos temas en Stack Overflow y colabora con la página de la GSI en Reddit.