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
Nesta página
- Antes de começar
- 1. Instalar o MuMu Player 12
- 2. Definir uma resolução fixa
- 3. Ativar o ADB no MuMu Player 12
- 4. A porta ADB do MuMu Player e como o MAS a escaneia
- 5. Conectar o MuMu Player pelo ADB no MAS
- Macros no MuMu Player
- Várias instâncias do MuMu
- MuMu Player no Mac
- Solução de problemas
- Porta ADB do MuMu
- O adb connect do MuMu falha
- Macro em loop no MuMu
- 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
- Baixe o MuMu Player 12 no site do fabricante e rode o instalador.
- Abra o MuMu Player e aguarde a tela inicial.
- 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.
- Clique em Configurações no canto superior direito da janela do MuMu Player.
- Abra Tela e escolha uma resolução personalizada.
- 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.
- 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
nemuheadlessoumumu. - 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.0ou 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
- Abra Grupos de dispositivos na barra lateral e abra um grupo, ou crie um.
- Clique em Adicionar dispositivo.
- Digite um Nome do dispositivo com até 50 caracteres.
- Em Porta, escolha a entrada
MuMudesta instância. Clique em Atualizar se a lista estiver vazia. - 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.
- Se quiser, escolha uma Macro inicial.
- 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.
- Para reconstruir uma gravação como uma macro que enxerga a tela, siga Macros com reconhecimento de imagem.
- Para colocá-la em loop até uma condição ser atendida, ou rodá-la em um agendamento, leia Loops, condições de parada e agendamento.
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:
brew install android-platform-toolsO 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 devicesmostra a porta comooffline. 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.
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
Obrigado. Se algo estiver errado, conte para a gente no Discord.
Dúvidas? Pergunte no Discord