Dispositivos
LDPlayer ADB: conectar e configurar a porta no MAS
Ative a depuração ADB no LDPlayer 9, encontre a porta ADB, conecte a instância ao Macro Automation Studio e troque o gravador por macros que enxergam a tela.
- Windows
- Emulador
- Studio
- SDK Python
Nesta página
- Antes de começar
- 1. Instalar o LDPlayer 9
- 2. Definir uma resolução fixa
- 3. Ativar a depuração ADB no LDPlayer 9
- 4. A porta ADB do LDPlayer e como o MAS a escaneia
- 5. Conectar o LDPlayer pelo ADB no MAS
- Macros no LDPlayer
- Várias instâncias do LDPlayer
- Solução de problemas
- LDPlayer ADB device not found
- O LDPlayer aparece como offline
- Encontrar a porta ADB do LDPlayer 9
- A macro não funciona
- Controle pelo Python
Este guia mostra como conectar o LDPlayer 9 ao Macro Automation Studio (MAS) pelo LDPlayer ADB, e como as macros do MAS diferem do Gravador de operações do LDPlayer. O LDPlayer só existe para Windows, então todos os passos abaixo são passos de Windows.
Antes de começar
- MAS instalado e com login feito no Windows 10 ou 11. O MAS é um download gratuito para o teste; pegue-o na página de download.
- LDPlayer 9 instalado a partir de ldplayer.net 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 LDPlayer.
1. Instalar o LDPlayer 9
- Baixe o LDPlayer 9 no site do fabricante e rode o instalador.
- Abra o LDPlayer 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 no ícone de engrenagem na barra de ferramentas do LDPlayer para abrir Configurações.
- Abra Tela e escolha a opção de 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.
- Clique em Salvar configurações e reinicie a instância quando o LDPlayer pedir.
3. Ativar a depuração ADB no LDPlayer 9
O LDPlayer mantém o ADB fechado até você abri-lo. O fabricante documenta a opção em Outras configurações:
- Abra Configurações.
- Clique em Outras configurações.
- Defina Depuração ADB como Abrir conexão local.
- Clique em Salvar configurações.
- Reinicie a instância. A configuração passa a valer depois da reinicialização.
4. A porta ADB do LDPlayer e como o MAS a escaneia
A primeira instância do LDPlayer escuta em 5555. 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
ldvboxheadless,ld9boxheadless,dnplayer,ldplayerouvboxnetnat. - A porta é ímpar e está entre 5555 e 5599: 5555, 5557, 5559 e assim por diante.
- O socket escuta em
127.0.0.1,0.0.0.0ou em todas as interfaces.
As portas que batem aparecem na caixa de diálogo Adicionar novo dispositivo com o rótulo LD Player, por exemplo 5555 - LD Player. O MAS escaneia quando você abre um grupo de dispositivos e a cada clique em Atualizar. As instâncias seguintes pegam as próximas portas ímpares, e é por isso que a regra vai até 5599: ela cobre 23 instâncias abertas.
5. Conectar o LDPlayer 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
LD Playerdesta instância. Clique em Atualizar se a lista estiver vazia. - Se o LDPlayer usar uma porta que não segue 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 LDPlayer
O Gravador de operações do LDPlayer (um botão na barra de ferramentas, ou Ctrl + 8) grava toques, deslizes e entrada de texto e os repete como um script. As configurações do script oferecem um Loop de execução (Até o número de loops, Até o tempo ou Até parar manualmente), um Intervalo do loop e Aceleração. O que ele não consegue fazer é olhar para a tela. Todo toque repete nas coordenadas gravadas, então um atraso de carregamento, um pop-up ou um botão que mudou de lugar manda o próximo toque para o nada, e o loop segue mesmo assim. O script também só roda dentro do LDPlayer.
Uma macro do MAS é um script Python que verifica a tela antes de agir. Ela 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 LDPlayer, em outros emuladores e em um dispositivo na nuvem sem alterações, porque o MAS controla o dispositivo por adb.
- Para reconstruir uma rotina gravada como uma macro que enxerga a tela, siga Macros com reconhecimento de imagem.
- Para colocá-la em loop até uma condição ser atendida, com uma condição de parada que o gravador não expressa, ou para rodá-la em um agendamento, leia Loops, condições de parada e agendamento.
- As macros do Marketplace são instaladas como macros do MAS e rodam no dispositivo que você atribuir.
Várias instâncias do LDPlayer
As instâncias criadas no LDMultiplayer (o botão Multijogador na barra de ferramentas, depois Novo player ou Clonar player) escutam cada uma na própria porta. 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. Defina a resolução por instância nas Configurações do gerenciador para os templates corresponderem em todas. Veja Grupos de dispositivos para argumentos e proxies por dispositivo.
Solução de problemas
LDPlayer ADB device not found
O card do dispositivo mostra Erro com “Failed to start device”, o log diz “unable to connect to device”, ou o MAS não lista nenhuma entrada LD Player. Percorra estas causas:
- Depuração ADB não está como Abrir conexão local, ou a instância não foi reiniciada depois da mudança. Defina, salve e reinicie.
- A instância ainda está iniciando. Aguarde a tela inicial, depois clique em Atualizar e em Iniciar de novo.
- A porta pertence a outra instância. Corrija com Editar dispositivo no card.
- O escaneamento informou “Failed to scan emulator ports”. Reinicie o MAS e abra a caixa de diálogo de novo.
- O adb imprimiu “connection refused” ou “cannot connect” nos logs do dispositivo. Nada escuta nessa porta; rode
adb connect 127.0.0.1:5555em um terminal para conferir.
O LDPlayer aparece como offline
adb devices lista 127.0.0.1:<port> offline e os comandos travam. O daemon adb dentro da instância parou de responder, em geral depois de uma suspensão, uma atualização ou um segundo servidor adb na máquina. Clique em Parar no card, reinicie a instância do LDPlayer, feche outras ferramentas que rodam o próprio servidor adb e clique em Iniciar. O MAS desconecta a entrada antiga e reconecta a cada início. Se continuar offline, reinicie o MAS para que o servidor adb dele inicie limpo. Mais correções em Solução de problemas de ADB.
Encontrar a porta ADB do LDPlayer 9
O guia de ADB do fabricante não mostra um lugar nas configurações do LDPlayer onde a porta apareça, então leia-a no MAS ou no adb. No MAS, abra Adicionar novo dispositivo e clique em Atualizar: toda porta encontrada aparece com LD Player ao lado, da menor para a maior, então a primeira instância é 5555 e as seguintes vêm em 5557 e 5559. Em um terminal, adb connect 127.0.0.1:5555 responde “connected” para uma porta viva e “cannot connect” para uma porta morta. Depois que você sabe a porta, ela se mantém enquanto você abrir as instâncias na mesma ordem.
A macro não funciona
Dois problemas diferentes compartilham essa frase.
- Um script gravado no LDPlayer toca no lugar errado ou fica em loop sem efeito. A resolução mudou desde a gravação, o app agora carrega mais devagar, ou um pop-up está sobre o botão. Scripts gravados não se recuperam de nada disso; reconstrua a rotina como uma macro do MAS com Macros com reconhecimento de imagem.
- Uma macro do MAS trava ou para. Abra Logs no card do dispositivo:
ImageNotFoundErroreTimeoutErrornomeiam o passo que falhou. Confira se a instância roda na resolução em que os templates foram capturados, se o card do dispositivo está em Em execução e se nenhum script do LDPlayer está enviando entrada ao mesmo tempo.
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"LDPlayer 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