Atualizações dinâmicas do sistema (DSU)

As Atualizações dinâmicas do sistema (DSU, na sigla em inglês) são um recurso do sistema lançado no Android 10 que faz o seguinte:

  • Faz o download de uma nova GSI, ou outra imagem do sistema Android, para seu dispositivo.
  • Cria uma nova partição dinâmica.
  • Carrega o GSI para a nova partição.
  • Inicializa a GSI como um SO convidado no dispositivo.

As DSUs também permitem alternar facilmente entre a imagem do sistema atual e a GSI para que você possa testá-la sem correr o risco de corromper a imagem do sistema atual.

Requisitos das DSUs

As DSUs dependem do recurso de partição dinâmica do Android e exigem que as GSIs sejam assinadas pelo Google ou pelos seus OEMs como uma imagem de sistema confiável.

As DSUs são um recurso fornecido pelo fabricante do dispositivo. Consulte a página de suporte do fabricante do dispositivo para verificar a disponibilidade delas. O Google ativou as DSUs nos dispositivos Pixel 3 e mais recentes desde o lançamento do Android 10 Beta 4.

Instalar GSIs usando DSU e a linha de comando

Esta seção descreve como instalar uma GSI usando as DSUs e a linha de comando.

Iniciar as DSUs

Inicie a DSU usando a ferramenta adb.

  1. Faça o download de uma GSI na página de versão da GSI ou em outro servidor de imagens GSI.

  2. Use o gzip na GSI.

    gzip -c system_raw.img > system_raw.gz
    
  3. Envie a GSI por push para o dispositivo.

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

    Uma notificação como esta mostrará o status da instalação.

    Notificação mostrando a instalação da GSI em andamento

Inicializar a GSI

Figura 1. Uma notificação persistente que pode ser usada para controlar as DSUs.

Depois que as DSUs instalarem a GSI, um menu de DSU será exibido como uma notificação persistente dentro da gaveta de notificações do sistema. (Figura 1).

Nesse ponto, você poderá fazer uma das seguintes ações:

  • Inicialize a GSI tocando em Reiniciar.
  • Limpe a GSI tocando em Descartar.

Voltar para a imagem do sistema original do dispositivo

Depois de terminar de testar seu app usando a GSI, você pode executar uma reinicialização a frio para inicializar o sistema na imagem original dele.

Quando você configura a próxima reinicialização para usar uma GSI, é possível manter a GSI instalada por vários ciclos de inicialização, até ser descartada, ativando o modo fixo, ou usá-la por apenas um ciclo de inicialização desativando esse modo.

Este comando ativa o modo fixo:

adb shell gsi_tool enable

Estes comandos desativam o modo fixo:

adb shell gsi_tool disable
adb shell gsi_tool enable -s
adb shell gsi_tool disable

Instalar as GSIs com as DSUs e o carregador de DSU

O Android 11 introduziu o carregador de DSU, uma ferramenta disponível nas Opções do desenvolvedor do dispositivo, que permite fazer o download, instalar e gerenciar GSIs na IU do sistema.

Para instalar uma GSI usando o carregador de DSU, siga estas etapas em um dispositivo com o Android 11 ou mais recente:

  1. Ative as Opções do desenvolvedor no seu dispositivo.
  2. Abra o app Configurações do dispositivo e toque em Opções do desenvolvedor > Carregador de DSU.
  3. Escolha a GSI que você quer instalar no dispositivo.

    Interface do carregador de DSU para selecionar uma GSI

  4. Concorde com os Termos e Condições da GSI.

    Depois que você concordar com os Termos e Condições, o download da GSI selecionada será iniciado. É possível verificar o status do download pela notificação da DSU.

  5. Quando o download terminar, toque em Reiniciar para inicializar a GSI.

    Notificação de DSU com opções para gerenciar a GSI

  6. Quando quiser voltar à imagem original do sistema do dispositivo, toque em Reiniciar na notificação do sistema de DSU.

    Notificação de DSU com uma opção que permite reinicializar o dispositivo usando a
imagem original do sistema

Enviar feedback

Seu feedback nos ajuda a melhorar as DSUs e outros recursos das GSIs. Compartilhe suas ideias e informe problemas com GSI registrando bugs de GSI e falando sobre assuntos no Stack Overflow.