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.
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:
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 fortrue
, siga para a próxima etapa.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.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 tipoarm64
da GSI.
Fazer o download das GSIs
Há algumas maneiras de fazer o download das GSIs, dependendo das suas necessidades de desenvolvimento:
- Para GSIs da versão de pré-lançamento do Android e GSIs do Android com GMS, faça o download das imagens na página de lançamento da GSI.
Para GSIs pré-criadas sem aplicativos do GMS, faça o download das imagens do site de CI do AOSP:
Para criar GSIs Android sem GMS, faça o download do código-fonte no AOSP e crie suas GSIs.
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:
- Atualizar GSIs manualmente: consulte Requisitos para atualizar GSIs.
- Usando a atualização dinâmica do sistema (DSU, na sigla em inglês) para dispositivos que já executam o Android 10 ou mais recente: consulte a página Atualizações dinâmicas do sistema.
Enviar feedback
As GSIs têm o objetivo de 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
- Entenda o impacto das imagens genéricas do sistema (GSI), Conferência de Desenvolvedores Android 2018 (vídeo em inglês)