O Framework de virtualização do Android (AVF, na sigla em inglês) oferece ambientes de execução seguros e particulares para executar códigos. O AVF é ideal para casos de uso orientados à segurança que exigem garantias de isolamentos mais fortes e verificação formal, diferentes do que é oferecido pelo sandbox de apps do Android. O Android oferece uma implementação de referência de todos os componentes necessários para implementar o AVF. O AVF só é compatível com dispositivos ARM64. A Figura 1 mostra a arquitetura do AVF:
 
Figura 1. Arquitetura do AVF.
Confira as definições dos termos mais importantes da Figura 1:
- apexd e zipfuse
 - Monta com segurança APEXes e APKs importados do host.
 - authfs
 - Um sistema de arquivos de fusão para compartilhar com segurança vários arquivos entre o Android e a pVM (host e convidado).
 - binder
 - Principal meio de comunicação entre VMs.
 - crosvm
 - Um monitor de máquina virtual escrito em Rust. O crosvm aloca memória de VM, cria linhas de execução de CPU virtual e implementa os back-ends do dispositivo virtual.
 - Imagem genérica do kernel (GKI)
 - Uma imagem de inicialização certificada pelo Google que contém um kernel GKI criado em uma árvore de origem do kernel comum do Android (ACK, na sigla em inglês) e pode ser gravada na partição de inicialização de um dispositivo Android. Para mais informações, consulte a Visão geral do kernel.
 - hipervisor
 - A tecnologia de virtualização usada pelo AVF, também conhecida como pKVM. O hipervisor mantém a integridade do código executado e a confidencialidade dos recursos da pVM, mesmo que o Android host ou qualquer uma das outras pVMs esteja comprometido.
 - API Java
 - As APIs Java do VirtualizationService, que estão presentes apenas em dispositivos com
suporte ao AVF. Essas APIs são opcionais e não fazem parte de 
thebootclasspath. - Microdroid
 - Um mini-SO Android fornecido pelo Google que é executado em uma pVM.
 - Microdroid Manager
 - Gerencia o ciclo de vida da pVM, dentro da pVM e do disco da instância.
 - API nativa
 - Um subconjunto do Android Native Developers Kit (NDK).
 - máquina virtual baseada em kernel protegida (pKVM)
 - Consulte Hipervisor.
 - Firmware da pVM (
pvmfw) - O primeiro código executado em uma pVM, 
pvmfw, verifica o payload e deriva o segredo por VM. - máquina virtual protegida (pVM)
 Um ambiente de execução isolado (convidado) que funciona com o sistema operacional Android principal (host). Um aspecto importante da segurança da pVM é que, mesmo que o host esteja comprometido, ele não tem acesso à memória de uma pVM. O pKVM é o hipervisor padrão para executar pVMs.
Em comparação com os ambientes de execução confiáveis (TEEs) atuais, as pVMs oferecem um ambiente mais completo, incluindo a capacidade de executar uma mini distribuição do Android chamada Microdroid (embora o Microdroid também possa ser executado em uma VM desprotegida). As pVMs podem ser usadas dinamicamente e oferecem um conjunto padrão de APIs em um ambiente confiável disponível em todos os dispositivos compatíveis.
- VirtualizationService
 O serviço do Android que gerencia o ciclo de vida das pVMs.
Quais são as próximas etapas?
- Se quiser entender melhor a necessidade de AVF, consulte Por que AVF?.
 - Para saber como o AVF pode ser usado para compilação isolada, consulte Casos de uso.
 - Para uma explicação mais detalhada da arquitetura da implementação de referência do AVF, consulte Arquitetura do AVF.
 - Para saber mais sobre o Microdroid, consulte Microdroid.
 - Se você quiser saber como o AVF lida com a segurança, consulte Segurança.
 - Para entender a função do serviço de virtualização, consulte VirtualizationService.
 - Para conferir o código-fonte do AVF ou uma explicação detalhada sobre componentes individuais, consulte o repositório do AOSP.