# Celular Android na nuvem: criar, transmitir e rodar macros

> Crie um celular Android na nuvem no MAS, veja a tela por WebRTC, instale APKs, rode macros no servidor com o computador desligado e destrave dispositivos.

Source: https://automationmacro.com/pt-BR/docs/cloud-devices (Dispositivos, updated 2026-09-05)

Um dispositivo na nuvem é um celular Android na nuvem que o Macro Automation Studio (MAS) roda para você nos próprios hosts com GPU. Ele fica ao lado dos seus emuladores locais no app, transmite a tela por WebRTC e roda macros no servidor, então o seu computador pode ficar desligado. Esta página cobre a criação, os estados, os apps, as execuções e os limites.

## Antes de começar

- O MAS está instalado e você fez login. Veja [Instalar o MAS](/docs/install).
- Seu plano inclui pelo menos um dispositivo na nuvem. Dispositivos na nuvem são um complemento de um plano pago; veja [Cobrança](/docs/billing).
- Para execuções: uma macro Python na sua biblioteca. A caixa de diálogo de execução lista apenas macros Python.

## O que é um celular Android na nuvem

Cada dispositivo na nuvem é um dispositivo Android completo em um data center do MAS, renderizado em uma GPU de servidor. Iniciar e parar levam um tempo real: cerca de 48 segundos para um boot do zero, 17 para retomar e 9 para parar. A tela chega até você como um stream WebRTC que carrega o vídeo e os seus toques, e um único visualizador a segura por vez; o card mostra um ícone de olho, **Sendo visualizado ao vivo**, quando ela está aberta em outro lugar. As macros rodam nos servidores do MAS ao lado do dispositivo, então fechar o app não encerra uma execução. Apps instalados e contas logadas sobrevivem a uma parada; só **Excluir** os apaga.

## Criar um dispositivo na nuvem

1. Abra **Dispositivos na nuvem** na barra lateral.
2. Digite um **Nome do dispositivo**.
3. Escolha a versão do **Android**. A lista vem do servidor; o Android 15 é o padrão.
4. Escolha uma **Resolução**: **Leve** (540 por 960), **Padrão** (720 por 1280) ou **Nítida** (1080 por 1920). A Nítida transmite cerca do dobro de pixels e precisa de mais banda.
5. Escolha um **DPI**, ou mantenha **Padrão**, a densidade própria do preset. Os valores permitidos são 160, 240, 320 e 480.
6. Se quiser, marque **Incluir Google Play Store** (veja abaixo).
7. Clique em **Criar**.

O dispositivo aparece como **Parado**; criar não inicia. Versão, resolução e DPI ficam fixos depois da criação, então um perfil diferente significa um dispositivo novo. O cabeçalho da página conta os dispositivos **Em execução** e **Alocados** contra o seu plano, e uma conta pode ter até 20 dispositivos na nuvem.

### Google Play em um celular Android na nuvem

Os apps do Google são opcionais por dispositivo. Marque **Incluir Google Play Store** ao criar um dispositivo, ou clique em **Adicionar Google Play** em um já existente: o dispositivo reinicia uma vez, em cerca de 15 segundos, e mantém os dados. **Adicionar Google Play a todos** cobre todo dispositivo que ainda não o tem.

Na primeira vez, o MAS mostra o aviso **Instalar apps do Google**, que você aceita uma vez por conta. Em resumo: o dispositivo instala o MindTheGapps, um pacote open source independente mantido por desenvolvedores do LineageOS, que contém a Google Play Store, o Google Play Services e o Google Services Framework. O MAS não é afiliado, endossado nem licenciado pelo Google; nem o MAS nem o projeto MindTheGapps concedem a você qualquer licença dos aplicativos do Google, e o seu uso dos apps do Google e de qualquer conta Google é regido pelos Termos de Serviço do próprio Google. O dispositivo virtual não tem certificação Play Protect, então apps que verificam a integridade do dispositivo não vão funcionar: apps de banco e de pagamento, Google Wallet, streaming em HD ou com DRM, e alguns jogos. Você instala e usa os apps do Google por sua própria conta e risco.

Um dispositivo com Google Play mostra um selo **Play**. Se a instalação falhar, o card oferece **Tentar novamente**.

## Estados do dispositivo

| Estado | O que significa |
|---|---|
| Parado | Alocado, não está rodando, dados mantidos. Não conta como em execução. |
| Alocando | O MAS está procurando um host com espaço, ou provisionando um novo (cerca de 15 minutos). |
| Iniciando | O Android está iniciando: em geral menos de 1:30 em um primeiro boot, menos de 0:20 em uma retomada. |
| Pronto | Em execução. Você pode visualizar, instalar apps e rodar macros. |
| Parando | Desligando, em geral menos de 0:10. |
| Erro | Algo falhou. O card mostra o motivo, e **Iniciar** tenta de novo. |

Toda transição é assíncrona; o card mostra o tempo decorrido enquanto um dispositivo está mudando de estado.

## Iniciar, parar e excluir

- **Iniciar** faz o boot do dispositivo. Quando todos os slots de execução do seu plano estão em uso, ele falha com uma mensagem como "2 of 2 running, stop one to start another".
- **Parar** libera o slot de execução e a GPU e a RAM do host, mantendo o disco. **Iniciar** o retoma.
- **Excluir** destrói o dispositivo e tudo o que há nele: apps instalados, contas logadas, progresso de jogo. A caixa de diálogo avisa antes.

Um dispositivo em execução sem nenhuma execução ativa é parado automaticamente depois de 60 minutos. Os dados são mantidos; **Iniciar** o retoma em segundos. Uma macro em execução mantém o dispositivo ligado.

## Ver a tela ao vivo

Clique em **Visualizar** em um dispositivo pronto. **Negociando stream** significa que a conexão WebRTC está sendo montada; quando fica ao vivo, seus cliques, arrastos e teclas vão direto para o dispositivo, e o cabeçalho oferece **Tela cheia**, **Voltar**, **Início** e **Fechar**. Fechar o visualizador libera o stream para outra janela. Em **Grupos de dispositivos**, o card de um dispositivo na nuvem tem **Assistir ao vivo**, que acopla o mesmo visualizador ao lado do card.

## Instalar apps

Clique em **Instalar APK** em um dispositivo pronto. O seletor oferece três caminhos:

- **Enviar um arquivo (.apk / .xapk)**: um arquivo `.apk`, `.xapk`, `.apkm` ou `.apks` de até 1 GiB. O MAS o verifica, envia para o host do dispositivo e instala ali. Formatos de contêiner são desempacotados, splits de 32 bits e x86 são descartados, arquivos de expansão são colocados no lugar, e o resto é instalado como um único pacote. Um pacote sem build arm64 é recusado antes do envio; dispositivos na nuvem são apenas ARM de 64 bits.
- **Pesquisar apps para baixar**: digite o nome de um app, ou cole um link ou o id do pacote, e clique em **Instalar**. O MAS baixa o app neste computador e o instala do mesmo jeito.
- **Gerenciar apps instalados**: veja o que está no dispositivo, **Atualize** um app quando o catálogo tiver uma build mais nova, ou desinstale um com o botão de lixeira (clique duas vezes para confirmar). O cabeçalho mostra os slots de apps usados contra o limite do dispositivo.

O progresso aparece no card: **Verificando app**, **Enviando app**, **Instalando app**. As falhas mostram o motivo literal, incluindo os códigos INSTALL_FAILED do adb.

## Rodar macros 24 horas por dia em um dispositivo na nuvem

1. Inicie o dispositivo e aguarde **Pronto**.
2. Clique em **Executar** no card e escolha uma macro Python.
3. Acompanhe a linha da execução: iniciando, em execução com o tempo decorrido, concluída ou com falha. **Parar execução** encerra a execução e deixa o dispositivo ligado.

Antes de a execução começar, o MAS sincroniza o seu código: ele calcula o hash da pasta do projeto da macro e envia um snapshot só quando a árvore mudou. Um snapshot tem no máximo 500 arquivos e 10 MiB compactados; pastas com ponto como `.git` e `.venv`, além de `__pycache__`, `node_modules`, `venv` e arquivos `.pyc`, são ignorados. Um projeto acima de um limite falha antes da execução com o motivo, por exemplo "project has more than 500 files". O snapshot é o que a nuvem executa, então a árvore de trabalho do Code Editor roda sem commit nem push. Veja [Projetos git e sincronização de código](/docs/git-and-code-sync).

As execuções iniciadas a partir de um [grupo de dispositivos](/docs/device-groups) na nuvem usam a macro do dispositivo e os argumentos ou o perfil de configurações dele, e mostram a saída do script no card. Toda execução aparece em **Execuções** com o seu status.

> [!NOTE]
> Uma macro pronta roda em um dispositivo na nuvem a custo zero de créditos de IA. Os créditos são gastos só quando o MAS Agent cria nele.

## Grupos de dispositivos na nuvem e proxies

Um grupo de dispositivos contém um único tipo de dispositivo. Crie um grupo com o **Tipo** definido como **Nuvem**, clique em **Adicionar dispositivo na nuvem** e escolha um dispositivo alocado; um dispositivo na nuvem só pode entrar em um grupo na nuvem. Cada dispositivo do grupo tem sua própria macro, argumentos ou perfil de configurações, proxy e webhooks, e **Iniciar todos** dispara uma execução no servidor por dispositivo, um de cada vez. Veja [Grupos de dispositivos](/docs/device-groups).

Um proxy anexado a um dispositivo na nuvem é aplicado dentro da rede do dispositivo na próxima vez que ele iniciar, então todo o tráfego dele sai pelo proxy e o card mostra o IP de saída. Veja [Proxies](/docs/proxies).

## API REST e MCP

Com uma [chave de API](/docs/api-keys) você pode iniciar e acompanhar execuções no servidor: `POST /api/hosted/devices/{id}/run` com `macro_id` e `args` opcionais, `POST /api/hosted/runs/{id}/stop`, `GET /api/hosted/runs/{id}`, e `GET /api/macros/{id}/code-state` mais `POST /api/macros/{id}/code-snapshot` para sincronizar o código. O ciclo de vida do dispositivo, o streaming e a instalação de apps precisam do login do próprio app. Veja a [API REST](/docs/rest-api). O [servidor MCP do MAS](/docs/mcp) expõe os dispositivos na nuvem a clientes MCP.

## Quanto custa

Dispositivos na nuvem são um complemento de qualquer plano pago, cobrados por dispositivo por mês, com uma franquia mensal de créditos de IA incluída para o MAS Agent. Adicione ou remova dispositivos no meio do ciclo; a mudança é proporcional e a data de renovação se mantém. Veja a [página de preços](/pricing) e [Cobrança](/docs/billing).

## Solução de problemas

### Dispositivo preso em alocando ou iniciando

Alocando significa que nenhum host tem espaço ainda. O MAS provisiona um host novo, o que leva cerca de 15 minutos, e o dispositivo avança sozinho. Se nada liberar em 45 minutos, o dispositivo vai para **Erro** com "no capacity became available", e **Iniciar** tenta de novo. Um primeiro boot em geral termina em menos de 1:30 e uma retomada em menos de 0:20; se o tempo decorrido passar muito disso, clique em **Parar**, aguarde **Parado** e depois **Iniciar** de novo. Isso também move o dispositivo para um host atual, o que corrige "this device's host does not support APK installs yet".

### O stream não conecta

- O dispositivo precisa estar **Pronto**. Um dispositivo parado responde "The device must be running before you can view it".
- Preso em **Negociando stream**: o ticket do stream dura pouco, então feche o visualizador e clique em **Visualizar** de novo, ou clique em **Reconectar** quando for oferecido.
- Aberto em outro lugar: um único visualizador segura o stream. Feche-o na outra janela ou na outra instância do MAS.
- Uma rede que bloqueia WebRTC nunca mostra o vídeo. Tente outra rede e depois pergunte no [Discord](https://discord.gg/macroautomationstudio).

### A instalação do app falha

- "this package has no arm64-v8a build": o app só traz código de 32 bits ou x86. Consiga uma versão arm64.
- "not a valid APK": o arquivo não é um pacote Android ou está corrompido.
- "the limit is 1024MB": o pacote passa de 1 GiB.
- "INSTALL_FAILED_MISSING_SPLIT": o pacote está incompleto. Baixe o XAPK completo e instale-o.
- "install timed out": o host está sobrecarregado. Tente de novo em alguns minutos.
