Buscar

Dispositivos

Automação de emulador Android: emuladores, nuvem e celular

Automação de emulador Android no MAS: os emuladores que ele detecta, as regras de porta adb, como adicionar um dispositivo pela porta, nuvem e celular.

  • Windows
  • Mac
  • Emulador
  • Dispositivo na nuvem
  • Celular
  • Studio
  • SDK Python
Iniciante Atualizado em 7 min de leitura
Nesta página
  1. Antes de começar
  2. Como o MAS encontra a porta adb do emulador
  3. Adicionar um emulador Android como dispositivo de automação
  4. Dispositivos na nuvem
  5. Seu próprio celular
  6. Controle pelo Python
  7. Solução de problemas
  8. A lista Porta está vazia
  9. A porta já está em uso
  10. O dispositivo fica em Conectando ou termina em Erro

A automação de emulador Android no Macro Automation Studio (MAS) começa com um dispositivo: um emulador Android neste computador, um dispositivo na nuvem do MAS ou, como caminho avançado, o seu próprio celular. Esta página explica como o MAS encontra os emuladores, como você adiciona um e onde os outros dois tipos se encaixam.

Antes de começar

  • O MAS está instalado e você fez login com um teste ou plano ativo. Veja Instalar o MAS. O MAS é um download gratuito para o teste; pegue-o na página de download.
  • Para um emulador: o emulador está aberto e o ADB está ativado nas configurações dele. Os guias do BlueStacks, do LDPlayer, do MuMu Player e do MEmu mostram onde.
  • Para um dispositivo na nuvem: um plano com o complemento de dispositivos na nuvem. Veja Dispositivos na nuvem.

Como o MAS encontra a porta adb do emulador

O MAS não roda adb devices para encontrar emuladores. Ele escaneia os processos em execução em busca de nomes de emuladores conhecidos, lê as portas TCP em que cada um escuta e só mantém uma porta quando ela fica dentro da faixa conhecida daquele emulador. Só contam portas ligadas a 127.0.0.1, 0.0.0.0 ou a todas as interfaces. O resultado preenche a lista Porta na caixa de diálogo Adicionar novo dispositivo, uma entrada por porta com o nome do emulador ao lado.

EmuladorNomes de processo que o MAS procuraPortas que o MAS aceita
BlueStacksHD-Player, BlueStacks5555 a 8500
LDPlayerLdVBoxHeadless, Ld9BoxHeadless, dnplayer, LDPlayer, VBoxNetNATPortas ímpares de 5555 a 5599
NoxNoxVMHandle62001 a 63000
MEmuMEmuHeadless, MEmuHyper21503 e toda porta terminada em 3 acima dela, abaixo de 30000
MuMu PlayerNemuHeadless, MuMuPortas ímpares de 5555 a 5599, porta 7555, 16384 a 16576, ou 26624 a 27264

Cada instância de emulador escuta na própria porta, então duas janelas do BlueStacks aparecem como duas entradas. Se o seu emulador não está na tabela, ou escuta fora da faixa, você ainda pode digitar a porta à mão.

Adicionar um emulador Android como dispositivo de automação

  1. No MAS, abra Grupos de dispositivos e clique em Criar novo grupo.
  2. Digite um Nome (3 a 255 caracteres), mantenha o tipo Local e clique em Criar grupo.
  3. Abra o grupo e clique em Adicionar dispositivo.
  4. Digite um Nome do dispositivo com até 50 caracteres.
  5. Escolha a porta em Porta. Clique em Atualizar para escanear de novo. Se a porta não aparecer, escolha Porta personalizada e digite-a (1024 a 65535).
  6. Se quiser, escolha uma Macro inicial.
  7. Clique em Adicionar dispositivo.

O card do dispositivo mostra a porta, a macro e o estado: Parado, Conectando, Iniciando, Em execução, Parando ou Erro. Iniciar conecta ao emulador com adb connect 127.0.0.1:<port> e inicia a macro; Parar encerra a execução. Uma porta pode pertencer a um único dispositivo; adicioná-la duas vezes falha com “Port is already in use”. Para trocar a porta depois, clique em Editar dispositivo.

Vários dispositivos em um grupo podem ter macros, argumentos e perfis de configurações diferentes, e Iniciar todos roda um após o outro. Veja Grupos de dispositivos.

Dispositivos na nuvem

Um dispositivo na nuvem é um dispositivo Android que o MAS roda para você. Você o cria na página Dispositivos na nuvem com Criar, escolhendo a versão do Android, um preset de tela e um DPI que ficam fixos pela vida do dispositivo. Iniciar faz o boot, Visualizar abre a tela ao vivo transmitida por WebRTC e Executar inicia uma macro que continua depois de você fechar o app. Dispositivos parados mantêm os dados; uma conta pode ter até 20 dispositivos na nuvem. Todo o resto, incluindo instalação de APKs e cotas, está na página Dispositivos na nuvem.

Seu próprio celular

O MAS adiciona todo dispositivo local pela porta e sempre disca 127.0.0.1. Não há tela de pareamento USB nem de pareamento sem fio. Um celular, portanto, só funciona quando o daemon adb dele pode ser alcançado em uma porta TCP deste computador. Por USB, você chega lá com um encaminhamento de porta do adb.

  1. No celular, ative as Opções do desenvolvedor e a Depuração USB, depois conecte o celular ao cabo.
  2. No computador, rode adb devices e aceite o pedido de autorização no celular. O serial do celular precisa aparecer como device.
  3. Diga ao daemon adb do celular para escutar também em TCP: adb tcpip 5555.
  4. Encaminhe uma porta local para ele: adb forward tcp:5580 tcp:5555. Escolha qualquer porta local livre; 5580 é só um exemplo.
  5. Confira: adb connect 127.0.0.1:5580 deve responder “connected”.
  6. No MAS, adicione um dispositivo com Porta personalizada definida como 5580.

Mantenha o celular conectado ao cabo e com a tela ligada. O tamanho da tela e o DPI vêm do celular, então templates recortados em um emulador não vão corresponder; recorte-os a partir do celular no Asset Lab.

A depuração sem fio funciona do mesmo jeito depois que o celular está pareado e conectado com adb connect <phone-ip>:<port>: encaminhe uma porta local para a porta adb do celular e adicione essa porta local no MAS.

Controle pelo Python

O SDK não se importa com o tipo de dispositivo por baixo. mas.get_device_info() retorna o nome e o tamanho da tela, mas.get_screen_size() só o tamanho, e todo toque, deslize e captura de tela passa pelas mesmas chamadas. Os scripts são iniciados pelo MAS com o dispositivo já vinculado, então não há nada para conectar no código. Comece pela visão geral do SDK.

Solução de problemas

A lista Porta está vazia

O emulador não está aberto, o ADB está desligado nas configurações dele, ou ele não é um dos emuladores que o MAS escaneia. Clique em Atualizar depois que o emulador terminar de iniciar. Se continuar vazia, use Porta personalizada com a porta mostrada nas configurações do próprio emulador. Veja Solução de problemas de ADB.

A porta já está em uso

Outro dispositivo em um dos seus grupos já é dono dessa porta. Cada porta pode ser adicionada uma vez. Remova a entrada antiga ou escolha a porta da outra instância.

O dispositivo fica em Conectando ou termina em Erro

O MAS não conseguiu completar o adb connect, ou o emulador recusou o primeiro comando. Confira a porta, confirme que o ADB está ligado e siga a Solução de problemas de ADB.

Próximos passos

Páginas relacionadas

Esta página foi útil?

Dúvidas? Pergunte no Discord