Buscar

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
Iniciante Atualizado em 8 min de leitura
Nesta página
  1. Antes de começar
  2. 1. Instalar o LDPlayer 9
  3. 2. Definir uma resolução fixa
  4. 3. Ativar a depuração ADB no LDPlayer 9
  5. 4. A porta ADB do LDPlayer e como o MAS a escaneia
  6. 5. Conectar o LDPlayer pelo ADB no MAS
  7. Macros no LDPlayer
  8. Várias instâncias do LDPlayer
  9. Solução de problemas
  10. LDPlayer ADB device not found
  11. O LDPlayer aparece como offline
  12. Encontrar a porta ADB do LDPlayer 9
  13. A macro não funciona
  14. 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

  1. Baixe o LDPlayer 9 no site do fabricante e rode o instalador.
  2. Abra o LDPlayer 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 no ícone de engrenagem na barra de ferramentas do LDPlayer para abrir Configurações.
  2. Abra Tela e escolha a opção de 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. 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:

  1. Abra Configurações.
  2. Clique em Outras configurações.
  3. Defina Depuração ADB como Abrir conexão local.
  4. Clique em Salvar configurações.
  5. 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, ldplayer ou vboxnetnat.
  • 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.0 ou 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

  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 LD Player desta instância. Clique em Atualizar se a lista estiver vazia.
  5. 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.
  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 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:5555 em 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: ImageNotFoundError e TimeoutError nomeiam 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.

python
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

Esta página foi útil?

Dúvidas? Pergunte no Discord