Imagens genéricas do sistema (GSIs)

Uma imagem genérica do sistema (GSI) é uma implementação de Android puro com código do Android Open Source Project (AOSP) não modificado e pode ser executada em vários dispositivos Android.

Os desenvolvedores podem instalar e executar as GSIs mais recentes do Android para realizar testes em vários dispositivos Android já existentes e usar GSIs de diferentes níveis de versão do SO Android, incluindo a prévia para desenvolvedores e os builds Beta. Adicionar GSIs aos processos de verificação e teste pode oferecer alguns outros benefícios:

  • Cobertura de teste mais ampla em um conjunto maior de dispositivos reais.
  • Mais tempo para corrigir problemas de compatibilidade de apps.
  • Mais oportunidades para corrigir problemas de compatibilidade no Android informados por desenvolvedores de apps.

O projeto GSI tem código aberto e ajuda a melhorar o ecossistema Android oferecendo mais formas de melhorar a qualidade do app e do SO antes de cada lançamento do Android.

Compatibilidade com GSI em vários dispositivos
Figura 1: GSIs podem ser instaladas em uma ampla variedade de dispositivos e, às vezes, até mesmo para versões de Android para a qual um fabricante não forneça a própria imagem do sistema.

As GSIs incluem as mesmas funcionalidades principais do sistema para todos os dispositivos em que estão instaladas. Em outras palavras, uma GSI não inclui personalizações do fabricante do dispositivo. Por isso, você pode encontrar diferenças comportamentais nestas situações:

  • Interações que envolvem a interface.
  • Fluxos de trabalho que solicitam novos recursos de hardware.

Verificar a compliance do dispositivo

As GSIs só funcionam em dispositivos que:

  • Têm o carregador de inicialização desbloqueado.
  • estão em total conformidade com o Treble;
  • Foram lançados com o Android 9 (nível 28 da API) ou versões mais recentes. Os dispositivos que fizeram upgrade para o Android 9 de uma versão anterior podem ou não oferecer suporte a GSIs.

Para determinar se o dispositivo pode usar a GSI e qual versão de SO da GSI você vai instalar, faça o seguinte:

  1. Verifique o suporte ao Treble executando o comando abaixo:

    adb shell getprop ro.treble.enabled

    Se a resposta for false, isso significa que o dispositivo não é compatível com GSI e não é possível continuar. Se a resposta for true, siga para a próxima etapa.

  2. Verifique o suporte entre versões executando o comando abaixo:

    adb shell cat /system/etc/ld.config.version_identifier.txt \
    | grep -A 20 "\[vendor\]"

    No resultado, procure namespace.default.isolated na seção [vendor].

    Se o valor do atributo for true, isso significa que o dispositivo oferece total suporte ao Kit de desenvolvimento nativo do fornecedor (VNDK) e pode usar qualquer versão do sistema operacional (SO) da GSI mais recente que a versão do SO no dispositivo. Sempre que possível, use a versão mais recente disponível de SO da GSI.

    Se o valor do atributo for false, isso significa que o dispositivo não está em total compliance com o VNDK e pode usar apenas a GSI da mesma versão de SO no dispositivo. Por exemplo, um dispositivo com Android 10 (nível 29 da API) sem compliance com o VNDK só pode carregar uma imagem GSI do Android 10.

  3. O tipo de arquitetura de CPU da GSI precisa corresponder à arquitetura de CPU do dispositivo. Para encontrar a arquitetura de CPU correta para a imagem da GSI, execute o comando abaixo:

    adb shell getprop ro.product.cpu.abi

    Use o resultado para determinar qual GSI usar ao atualizar o dispositivo. Por exemplo, em um Pixel 5, o resultado indicaria que a arquitetura de CPU é arm64-v8a. Então, você usaria o tipo arm64 da GSI.

Fazer o download das GSIs

Há algumas maneiras de fazer o download das GSIs, dependendo das suas necessidades de desenvolvimento:

Instalar uma GSI

A instalação de uma GSI depende do dispositivo. Consulte o fabricante do seu dispositivo para saber as ferramentas e procedimentos exatos. Para dispositivos Google Pixel, como o Pixel 3 e mais recentes, há várias maneiras de instalar:

Enviar feedback

O objetivo das GSIs é ajudar você a validar seus apps no Android. Agradecemos o feedback sobre as imagens, as ferramentas e o processo para usar GSIs nos seus dispositivos.

Para nos informar sobre bugs ou solicitações de recursos, use o componente dedicado do Issue Tracker para GSIs.

Outros recursos