Buscar

Dispositivos

Porta ADB do MuMu Player: conectar o MuMu 12 ao MAS

Encontre a porta ADB do MuMu Player 12, conecte o Macro Automation Studio a ela, adicione cada instância como dispositivo e rode macros no lugar do gravador.

  • Windows
  • Mac
  • Emulador
  • Studio
  • SDK Python
Iniciante Atualizado em 8 min de leitura
Nesta página
  1. Antes de começar
  2. 1. Instalar o MuMu Player 12
  3. 2. Definir uma resolução fixa
  4. 3. Ativar o ADB no MuMu Player 12
  5. 4. A porta ADB do MuMu Player e como o MAS a escaneia
  6. 5. Conectar o MuMu Player pelo ADB no MAS
  7. Macros no MuMu Player
  8. Várias instâncias do MuMu
  9. MuMu Player no Mac
  10. Solução de problemas
  11. Porta ADB do MuMu
  12. O adb connect do MuMu falha
  13. Macro em loop no MuMu
  14. Controle pelo Python

Este guia mostra como encontrar a porta ADB do MuMu Player 12 e conectar a instância ao Macro Automation Studio (MAS), e explica como as macros do MAS diferem da Gravação de operações do MuMu. Os passos são para Windows; uma seção curta cobre a build para Mac.

Antes de começar

  • MAS instalado e com login feito no Windows 10 ou 11, ou em um Mac com Apple Silicon. O MAS é um download gratuito para o teste; pegue-o na página de download.
  • MuMu Player 12 instalado a partir de mumuplayer.com e aberto pelo menos uma vez.
  • A instância totalmente iniciada até a tela inicial do Android.
  • Os apps que você quer automatizar instalados e com login feito dentro do MuMu Player.

1. Instalar o MuMu Player 12

  1. Baixe o MuMu Player 12 no site do fabricante e rode o instalador.
  2. Abra o MuMu Player e aguarde a tela inicial.
  3. Instale e faça login nos apps que você quer automatizar antes de adicionar o dispositivo ao MAS.

2. Definir uma resolução fixa

O MAS compara imagens template pixel a pixel, então escolha uma resolução uma vez e mantenha.

  1. Clique em Configurações no canto superior direito da janela do MuMu Player.
  2. Abra Tela e escolha uma resolução personalizada.
  3. Digite largura 540, altura 960 e DPI 240. Essa é a base do MAS; uma macro que você mesmo escreve espera a resolução que você capturou no Asset Lab.
  4. Salve e reinicie a instância quando o MuMu Player pedir.

3. Ativar o ADB no MuMu Player 12

O guia de ADB do fabricante não mostra nenhum botão para o MuMu Player 12. Uma instância em execução responde ao adb na sua porta sem nenhuma configuração, então o que você precisa é do número da porta:

  • Para uma única instância, abra o menu no canto superior direito da janela e escolha Diagnóstico de problemas. A porta de depuração ADB aparece ali.
  • Para várias instâncias, abra o MuMuPlayer Multi-instance 12 e clique no ícone de ADB de uma instância em execução para ver a porta dela.

4. A porta ADB do MuMu Player e como o MAS a escaneia

O MuMu Player 12 dá à instância principal a porta 16384, e cada instância seguinte soma 32: 16416, 16448 e assim por diante. Quando uma porta está ocupada, o MuMu soma 1, então 16385 pode aparecer. O MAS não usa adb devices para descobrir emuladores. Ele escaneia os processos em execução e mantém uma porta quando todas estas condições valem:

  • O nome do processo contém nemuheadless ou mumu.
  • A porta está entre 16384 e 16576, entre 26624 e 27264, é exatamente 7555, ou é uma porta ímpar entre 5555 e 5599.
  • O socket escuta em 127.0.0.1, 0.0.0.0 ou em todas as interfaces.

A faixa de 16384 a 16576 cobre a instância principal e as seis seguintes; 7555 e a faixa de 5555 vêm de versões mais antigas do MuMu. As portas que batem aparecem na caixa de diálogo Adicionar novo dispositivo com o rótulo MuMu, por exemplo 16384 - MuMu. O MAS escaneia quando você abre um grupo de dispositivos e a cada clique em Atualizar.

5. Conectar o MuMu Player pelo ADB no MAS

  1. Abra Grupos de dispositivos na barra lateral e abra um grupo, ou crie um.
  2. Clique em Adicionar dispositivo.
  3. Digite um Nome do dispositivo com até 50 caracteres.
  4. Em Porta, escolha a entrada MuMu desta instância. Clique em Atualizar se a lista estiver vazia.
  5. Se a porta mostrada em Diagnóstico de problemas não seguir a regra acima, escolha Porta personalizada e digite-a. O MAS aceita de 1024 a 65535.
  6. Se quiser, escolha uma Macro inicial.
  7. Clique em Adicionar dispositivo e depois em Iniciar no card do dispositivo.

O card mostra Conectando e depois Em execução. O MAS inicia seu próprio servidor adb, remove qualquer entrada antiga de 127.0.0.1:<port> e roda adb connect contra ela.

Macros no MuMu Player

A Gravação de operações do MuMu grava toques e os repete a partir de um arquivo, com três condições de parada (Executar x vezes e parar, Executar por xx tempo e parar e Loop infinito até parar manualmente) e um Intervalo do ciclo. O fabricante avisa que a resolução na reprodução precisa ser igual à da gravação. O arquivo repete coordenadas fixas sem olhar para a tela, então um carregamento lento, um pop-up ou um botão que mudou de lugar quebra a sequência, e ele só roda dentro do MuMu Player.

Uma macro do MAS é um script Python que verifica a tela antes de agir: encontra um botão com template matching, lê texto com OCR, espera com tentativas repetidas e ramifica conforme o que vê. O mesmo script roda no MuMu Player, em outros emuladores e em dispositivos na nuvem sem alterações, porque o MAS controla todo dispositivo por adb.

Várias instâncias do MuMu

Abra o MuMuPlayer Multi-instance 12 pelo ícone da caixa de ferramentas no canto superior direito. +Novo cria uma instância e Configuração do dispositivo define desempenho e tela, então dê a todas as instâncias a mesma resolução. Cada instância escuta na própria porta, 32 acima da anterior. Adicione cada uma como um dispositivo separado no mesmo grupo de dispositivos, atribua uma macro e um perfil de configurações por dispositivo e use Iniciar todos e Parar todos no grupo. A partir da oitava instância, a porta passa de 16576 e o MAS deixa de listá-la; adicione-a com Porta personalizada. Veja Grupos de dispositivos para argumentos e proxies por dispositivo.

MuMu Player no Mac

O MuMu também tem uma build para Macs com Apple Silicon. Ali o guia do fabricante coloca o ADB na barra de menus: com um dispositivo em execução, abra Ferramentas e escolha Abrir ADB (número da porta do dispositivo). A entrada mostra a porta; o padrão é de novo 16384. Se o escaneamento do MAS não a listar, adicione-a com Porta personalizada.

O MAS no Mac precisa de um binário do adb: ele procura dentro do pacote do app, depois no seu PATH e depois nas pastas do Homebrew. Se o MAS informar “ADB executable not found. Please install ADB using your package manager”, instale o adb com o Homebrew e reinicie o MAS:

bash
brew install android-platform-tools

O MAS sempre disca 127.0.0.1, então o MuMu Player precisa rodar no mesmo Mac.

Solução de problemas

Porta ADB do MuMu

O MAS não lista nenhuma entrada MuMu, ou a entrada listada pertence a outra instância.

  • Leia a porta em Diagnóstico de problemas ou no ícone de ADB do MuMuPlayer Multi-instance 12 e compare com o card do dispositivo; corrija com Editar dispositivo.
  • Conte a partir de 16384 em passos de 32 por instância, mais um quando uma porta estava ocupada (16385 em vez de 16384).
  • A instância ainda está iniciando, então a porta ainda não está aberta. Aguarde a tela inicial e clique em Atualizar.
  • A porta está acima de 16576 ou fora da regra de escaneamento por outro motivo. Escolha Porta personalizada e digite-a.

O adb connect do MuMu falha

O card do dispositivo mostra Erro com “Failed to start device”, o log diz “unable to connect to device”, ou o adb imprime “cannot connect” ou “connection refused”.

  • Nada escuta nessa porta. Confira o número como acima e confirme que a instância está aberta.
  • Um segundo servidor adb segura uma entrada antiga. Feche outras ferramentas que rodam o próprio servidor adb, clique em Parar, reinicie a instância e clique em Iniciar; o MAS reconecta do zero.
  • adb devices mostra a porta como offline. Reinicie a instância; se continuar offline, reinicie o MAS para que o servidor adb dele inicie limpo.
  • O escaneamento informou “Failed to scan emulator ports”. Reinicie o MAS e abra a caixa de diálogo de novo.

Para ver a resposta crua do adb, rode adb connect 127.0.0.1:16384 em um terminal. Mais correções em Solução de problemas de ADB.

Macro em loop no MuMu

Uma gravação definida como Loop infinito até parar manualmente não sabe se o loop deve continuar, então segue tocando depois que o objetivo foi atingido ou um pop-up apareceu. Uma macro do MAS faz o loop em Python com uma condição de parada: um template que aparece, um número lido por OCR ou uma contagem de passagens. Loops, condições de parada e agendamento mostra os padrões. Se um loop do MAS travar, abra Logs no card do dispositivo: ImageNotFoundError e TimeoutError nomeiam o passo que falhou, e a causa habitual é uma resolução que já não bate com os templates.

Controle pelo Python

Com o card em Em execução, o src/app.py de uma macro controla a instância pelo pacote mas. O MAS escolhe a porta, então os scripts nunca a referenciam.

python
import mas

size = mas.get_screen_size()
mas.log(f"MuMu screen is {size.width}x{size.height}")

match = mas.find_object_retry(1234, total_tries=3, time_sleep=2.0)
if match:
    mas.click(match.x, match.y)

Leia a visão geral do SDK para todos os namespaces, e Controlar um emulador Android pelo Python para um primeiro script completo.

Próximos passos

Páginas relacionadas

Esta página foi útil?

Dúvidas? Pergunte no Discord