Um emulador Android pode rodar em um PC que não suporta virtualização?
Sim, não, e portanto, depende.
PCs (e Macs, fwiw) são baseados na arquitetura da CPU x86/x64. A ativação da virtualização do hardware permite que o emulador envie instruções diretas para a CPU de hardware e outras IO do sistema. Este é um recurso incrível de desempenho.
Android também tem compilações para x86/x64. Eles são'não são bem usados, mas existem. Há uma porta genérica não oficial chamada Android-x86 também. Alguns deles podem ser executados diretamente em uma máquina virtual. Com a virtualização de hardware ativada, estes se beneficiarão das chamadas diretas da CPU.
Major caveat embora...
99% das instalações reais do Android (telefones, tablets, STB, etc) estão na arquitetura da CPU do ARM. Assim, a maioria dos emuladores não usa os builds x86/x64. Isso significa que eles emulam todo o CPU do ARM e outros dispositivos (som, vídeo, etc) em software. Isso, McFly, é pesado. It'é um grande sucesso de desempenho. A razão para isso é porque um monte de software no Android (apesar de ser abstraído por hardware e sandbox) não't funciona corretamente sem o ambiente ARM.
There's facilmente uma dúzia de emuladores populares para Android no PC. Cada um deles tem o seu próprio ambiente "melhor". A virtualização do hardware vai ajudar alguns, mas não todos. Com a emulação do Android você primeiro olha para o seu objetivo: desenvolvimento, ou um jogo específico, e depois escolhe o emulador que melhor se adapta à sua necessidade. Então você descobre se ele usa x86 ou ARM e ajusta suas configurações de hardware para combinar.
Artigos semelhantes
- Qual é a diferença entre a virtualização do hardware e a virtualização do SO?
- O que é um bom laptop de 300 euros que pode rodar o emulador Dolphin, ou existe mesmo um? Ouvi dizer que o Lenovo Felx 11 é muito bom.
- Qual é o melhor comprimido para rodar o Ubuntu? Qualquer um pode rodar a versão completa do Ubuntu?
- Um cabo micro USB que suporta o Quick Charge 2.0 da Qualcomm também suporta o Quick Charge 3.0?