Pular para o conteúdo

O emulador Android, fluido no seu navegador.

Um comando para instalar. Não requer Android Studio.

Tela inicial
Demonstração ao vivo

Seu emulador, em uma aba do navegador

Escolha uma tela ou deslize para os lados. No seu Mac, cada clique e cada arraste vão para o emulador de verdade.

Como funciona

Três programas, todos no seu Mac

O gateway lê quadros do emulador oficial do Android via gRPC e memória compartilhada, e os envia para a página por um WebSocket em 127.0.0.1. Toques, deslizes e teclas voltam pelo mesmo caminho.

  • NavegadorAba do Chrome ou do Edge
  • Gatewayandroid-emu-web em 127.0.0.1
  • EmuladorEmulador oficial do Android
  • Quadros da tela: RGBA bruto via memória compartilhada, depois WebSocket
  • Toques, deslizes e teclas: WebSocket, depois gRPC
Taxa de quadros mediana
60fps
Latência do toque p50
20ms
Latência do toque p90
30ms

Medido em um Mac M4 com um dispositivo virtual Pixel 5 API 34 (1080×2340) no Chrome 157, transporte de quadros rgba-mmap, 16 deslizes consecutivos e 30 toques. Seus números dependem do seu Mac, do dispositivo e do navegador. Desempenho medido

O que ele faz

Tudo o que você usa na janela do emulador

Por que usar

Fatos que você pode verificar

  1. 127.0.0.1

    Os quadros ficam no seu Mac

    O gateway escuta apenas no loopback. Outros computadores não conseguem alcançá-lo, e nenhum quadro passa pela internet.

    Segurança
  2. SDK

    O emulador oficial do Android

    Ele roda o emulador e as imagens de sistema do Google do Android SDK, os mesmos que o Android Studio usa. Se você já tem o SDK, o gateway o utiliza.

    Requisitos
  3. 1.24×

    CPU próxima à do scrcpy

    Durante 16 deslizes consecutivos em um Mac M4 (dispositivo virtual Pixel 5 API 34, 1080×2340, Chrome 157, transporte rgba-mmap), o emulador, o gateway e o Chrome juntos usaram 257% de CPU. O scrcpy, medido da mesma forma com o mesmo emulador, usou 208%.

    Desempenho medido
  4. MIT

    Código aberto

    Cada linha do gateway e da página está no GitHub sob a licença MIT.

    github.com/twosugar/android-emu-web
Comparação

Como ele se diferencia de outras formas de ver um emulador

Apenas diferenças que você pode verificar. Cada ferramenta é boa naquilo para que foi criada.

Perguntaandroid-emu-webEmulador do Android StudioscrcpyEmuladores na nuvem (ex.: Appetize)
Onde o Android rodaEmulador oficial no seu MacEmulador oficial no seu MacUm dispositivo ou emulador que você conectaOs servidores do fornecedor
Onde você o vêUma aba do Chrome ou do EdgeA janela Running Devices do Android Studio, ou a própria janela do emuladorUma janela de app de desktopUma aba do navegador
Precisa do Android StudioNão; precisa do gateway, do emulador e de uma imagem de sistemaSim, para a visualização Running DevicesNãoNão
Como os quadros trafegamQuadros RGBA brutos via 127.0.0.1Janela do emulador ou Android Studio, ambos no seu MacVídeo H.264Vídeo pela internet
PreçoGratuito, licença MITGratuitoGratuito, licença Apache-2.0Planos pagos
Começar

Três passos até o seu primeiro quadro

  1. Confira seu Mac

    Um Mac com Apple Silicon, Chrome ou Edge, e o emulador Android com uma imagem de sistema arm64.

    Requisitos
  2. Instale o gateway

    Execute isto no Terminal. Ele salva um único executável em ~/.local/bin.

    curl -fsSL https://droid.devpier.dev/install.sh | sh

    Guia de instalação
  3. Inicie-o

    Execute android-emu-web. Ele abre a página no seu navegador e mostra o emulador em execução.

    Primeira execução