Casa > P > É Possível Ter Outra Identidade Android (Por Falta De Uma Palavra Melhor) Como Uma Máquina Virtual Num Pc?

É possível ter outra identidade Android (por falta de uma palavra melhor) como uma máquina virtual num PC?

TL;DR: tecnicamente sim, mas praticamente difícil.

Android OS na sua configuração padrão atual (digamos, AOSP) não está adaptado o suficiente para suportar totalmente a virtualização do sistema em todos os níveis. Ele pode ser feito com grande esforço em um dispositivo específico, mas não em todos os dispositivos e não de graça.

Android OS não suporta realmente VMs aceleradas por hardware como host (ou seja: você (normalmente) não pode rodar nenhuma máquina virtual acelerada por hardware em um dispositivo com sistema operacional Android). O Android não está nem perto do Linux, nem de vários Unixes ou Windows. Mesmo que o Android esteja perto do Linux, é muito difícil, digamos, fazer com que a GUI do Android mostre corretamente a exibição da VM convidada, passe eventos na tela touch screen para ele, compartilhe rede, etc., etc.

Como um convidado (dentro de uma VM), no entanto, é claro que é possível rodar o Android em um emulador de sistema completo como o QEMU, em qualquer máquina física que possa rodar tal emulador (como qualquer PC decente). Na verdade, o emulador oficial, padrão Android fornecido no SDK do Android é um QEMU modificado. Os emuladores comerciais que podem executar o Android são bastante similares. O suporte a hardware irá variar muito. Em um dispositivo suficientemente rápido, pode ser possível rodar um Android em QEMU no Android, mas o desempenho será horrível e a VM será inutilizável (como passar IO para ele, etc.).

É tecnicamente possível utilizar as últimas extensões de virtualização das CPUs recentes de dispositivos móveis, e executar um hipervisor num dispositivo Android e executar várias VMs Android em cima dele, incluindo, talvez, uma VM "principal" no "domínio 0" do hipervisor (digamos, quando se instala o VirtualBox no Windows numa máquina física para executar Linux numa VM, tecnicamente, o Windows está agora no domínio 0 do hipervisor). No entanto, esses projectos têm sido na sua maioria experimentais e não são realmente utilizáveis nem de consumo. CPUs ARM recentes são quase tão boas para virtualização acelerada por hardware quanto CPUs x86 mais antigas, mas cada fornecedor SoC implementa as especificações de forma ligeiramente diferente, levando a complicações para os desenvolvedores.

Se olharmos para alguns dispositivos Android mais avançados, vemos que muitos fornecedores de plataforma realmente implantam um pequeno hypervisor, usando os mais recentes recursos de virtualização ARM, e o próprio SO Android é na verdade uma VM convidada sob esse hypervisor. Outra VM é o TEE OS (usado para coisas específicas de segurança). Mas essas configurações não suportam a execução de vários convidados, e são altamente bloqueadas pelo fornecedor.

De Tibbitts Quraishi

Qual deles devo comprar, um LG V30 Plus ou um OnePlus 6? :: Qual é a diferença entre a virtualização do hardware e a virtualização do SO?