Dispositivos
LDPlayer ADB connect: puerto ADB y conexión con MAS
Activa la depuración ADB en LDPlayer 9, localiza el puerto, conecta la instancia a Macro Automation Studio y cambia el grabador por macros que ven la pantalla.
- Windows
- Emulador
- Studio
- SDK de Python
En esta página
- Antes de empezar
- 1. Instalar LDPlayer 9
- 2. Fijar una resolución
- 3. Activar la depuración ADB en LDPlayer 9
- 4. El puerto ADB de LDPlayer y cómo lo busca MAS
- 5. LDPlayer ADB connect: conectar la instancia en MAS
- Macros en LDPlayer
- Varias instancias de LDPlayer
- Solución de problemas
- LDPlayer ADB device not found
- LDPlayer aparece offline
- Encontrar el puerto ADB de LDPlayer 9
- La macro no funciona
- Contrólalo desde Python
Esta guía explica el proceso de LDPlayer ADB connect con Macro Automation Studio (MAS) en LDPlayer 9, y en qué se diferencian las macros de MAS del Grabador de operaciones de LDPlayer. LDPlayer ADB connect solo existe en Windows, porque LDPlayer se publica únicamente para Windows, así que todos los pasos de abajo son pasos de Windows.
Antes de empezar
- MAS instalado y con sesión iniciada en Windows 10 u 11. MAS es una descarga gratuita para la prueba; consíguelo en la página de descarga.
- LDPlayer 9 instalado desde ldplayer.net y abierto al menos una vez.
- La instancia arrancada del todo hasta la pantalla de inicio de Android.
- Las apps que quieres automatizar instaladas y con sesión iniciada dentro de LDPlayer.
1. Instalar LDPlayer 9
- Descarga LDPlayer 9 desde el sitio del fabricante y ejecuta el instalador.
- Inicia LDPlayer y espera a la pantalla de inicio.
- Instala e inicia sesión en las apps que quieres automatizar antes de añadir el dispositivo a MAS.
2. Fijar una resolución
MAS compara las imágenes de plantilla píxel a píxel, así que elige una resolución una vez y mantenla.
- Haz clic en el icono de engranaje de la barra de herramientas de LDPlayer para abrir Configuración.
- Abre Pantalla y elige la opción de resolución personalizada.
- Introduce un ancho de 540, un alto de 960 y un DPI de 240. Es la línea base de MAS; una macro que escribas tú espera la resolución que capturaste en Asset Lab.
- Haz clic en Guardar configuración y reinicia la instancia cuando LDPlayer lo pida.
3. Activar la depuración ADB en LDPlayer 9
LDPlayer mantiene ADB cerrado hasta que lo abres. El fabricante documenta el interruptor en Otros ajustes:
- Abre Configuración.
- Haz clic en Otros ajustes.
- Pon Depuración ADB en Abrir conexión local.
- Haz clic en Guardar configuración.
- Reinicia la instancia. El ajuste se aplica después del reinicio.
4. El puerto ADB de LDPlayer y cómo lo busca MAS
La primera instancia de LDPlayer escucha en el 5555. MAS no usa adb devices para descubrir emuladores. Recorre los procesos en ejecución y conserva un puerto cuando se cumple todo esto:
- El nombre del proceso contiene
ldvboxheadless,ld9boxheadless,dnplayer,ldplayerovboxnetnat. - El puerto es impar y está entre 5555 y 5599: 5555, 5557, 5559 y así sucesivamente.
- El socket escucha en
127.0.0.1,0.0.0.0o en todas las interfaces.
Los puertos que coinciden aparecen en el diálogo Añadir nuevo dispositivo con la etiqueta LD Player, por ejemplo 5555 - LD Player. MAS busca al abrir un grupo de dispositivos y cada vez que haces clic en Actualizar. Las siguientes instancias toman los siguientes puertos impares, y por eso la regla llega hasta el 5599: cubre 23 instancias en marcha.
5. LDPlayer ADB connect: conectar la instancia en MAS
- Abre Grupos de dispositivos en la barra lateral y abre un grupo, o crea uno.
- Haz clic en Añadir dispositivo.
- Escribe un Nombre del dispositivo de hasta 50 caracteres.
- En Puerto, elige la entrada
LD Playerde esta instancia. Haz clic en Actualizar si la lista está vacía. - Si LDPlayer usa un puerto que no encaja en la regla de arriba, elige Puerto personalizado y escríbelo. MAS acepta de 1024 a 65535.
- Opcionalmente elige una Macro de inicio.
- Haz clic en Añadir dispositivo y luego en Iniciar en la tarjeta del dispositivo.
La tarjeta muestra Conectando y después En ejecución. MAS inicia su propio servidor adb, elimina cualquier entrada obsoleta de 127.0.0.1:<port> y ejecuta adb connect contra ella.
Macros en LDPlayer
El Grabador de operaciones de LDPlayer (un botón de la barra de herramientas, o Ctrl + 8) graba toques, deslizamientos y texto y los repite como un script. Sus ajustes de script ofrecen un Bucle de ejecución (Hasta un número de bucles, Hasta una hora o Hasta detener a mano), un Intervalo de bucle y Aceleración. Lo que no puede hacer es mirar la pantalla. Cada toque se repite en las coordenadas que grabaste, así que un retraso de carga, un aviso emergente o un botón que se movió mandan el siguiente toque a la nada, y el bucle sigue igualmente. Además, el script solo funciona dentro de LDPlayer.
Una macro de MAS es un script de Python que comprueba la pantalla antes de actuar. Encuentra un botón con coincidencia de plantillas, lee texto con OCR, espera con reintentos y se ramifica según lo que ve. El mismo script se ejecuta en LDPlayer, en otros emuladores y en un dispositivo en la nube sin cambios, porque MAS controla el dispositivo por adb.
- Para reconstruir una rutina grabada como una macro que mira la pantalla, sigue Macros con reconocimiento de imagen.
- Para repetirla hasta que se cumpla una condición, con una condición de parada que el grabador no puede expresar, o para ejecutarla según un horario, lee Bucles, condiciones de parada y programación.
- Las macros del Marketplace se instalan como macros de MAS y se ejecutan en el dispositivo que les asignes.
Varias instancias de LDPlayer
Las instancias creadas en LDMultiplayer (el botón Multijugador de la barra de herramientas y luego Nuevo reproductor o Clonar reproductor) escuchan cada una en su propio puerto. Añade cada una como un dispositivo aparte en el mismo grupo de dispositivos, asigna una macro y un perfil de ajustes por dispositivo, y usa Iniciar todos y Detener todos en el grupo. Fija la resolución por instancia en la Configuración del gestor para que las plantillas coincidan en todas. Consulta Grupos de dispositivos para argumentos y proxies por dispositivo.
Solución de problemas
LDPlayer ADB device not found
La tarjeta del dispositivo muestra Error con “Failed to start device”, el log dice “unable to connect to device” o MAS no lista ninguna entrada LD Player. Revisa estas causas:
- Depuración ADB no está en Abrir conexión local, o la instancia no se reinició tras el cambio. Ajústalo, guarda y reinicia.
- La instancia sigue arrancando. Espera a la pantalla de inicio y haz clic en Actualizar e Iniciar otra vez.
- El puerto pertenece a otra instancia. Corrígelo con Editar dispositivo en la tarjeta.
- La búsqueda informó de “Failed to scan emulator ports”. Reinicia MAS y abre el diálogo de nuevo.
- adb imprimió “connection refused” o “cannot connect” en los logs del dispositivo. Nada escucha en ese puerto; ejecuta
adb connect 127.0.0.1:5555en una terminal para comprobarlo.
LDPlayer aparece offline
adb devices lista 127.0.0.1:<port> offline y los comandos se quedan colgados. El demonio adb dentro de la instancia dejó de responder, normalmente tras una suspensión, una actualización o un segundo servidor adb en la máquina. Haz clic en Detener en la tarjeta, reinicia la instancia de LDPlayer, cierra otras herramientas que ejecuten su propio servidor adb y haz clic en Iniciar. MAS desconecta la entrada obsoleta y vuelve a conectar en cada inicio. Si sigue offline, reinicia MAS para que su servidor adb arranque limpio. Hay más soluciones en Solución de problemas de ADB.
Encontrar el puerto ADB de LDPlayer 9
La guía de ADB del fabricante no muestra ningún lugar de los ajustes de LDPlayer donde se imprima el puerto, así que léelo desde MAS o desde adb. En MAS, abre Añadir nuevo dispositivo y haz clic en Actualizar: cada puerto encontrado aparece con LD Player al lado, del más bajo al más alto, así que la primera instancia es la 5555 y las siguientes van en 5557 y 5559. En una terminal, adb connect 127.0.0.1:5555 responde “connected” para un puerto activo y “cannot connect” para uno muerto. Una vez que conoces el puerto, se mantiene igual mientras inicies las instancias en el mismo orden.
La macro no funciona
Dos problemas distintos comparten esta frase.
- Un script grabado de LDPlayer toca en el sitio equivocado o repite sin efecto. La resolución cambió desde la grabación, la app ahora carga más despacio o un aviso emergente tapa el botón. Los scripts grabados no pueden recuperarse de nada de esto; reconstruye la rutina como macro de MAS con Macros con reconocimiento de imagen.
- Una macro de MAS se atasca o se detiene. Abre Logs en la tarjeta del dispositivo:
ImageNotFoundErroryTimeoutErrornombran el paso que falló. Comprueba que la instancia va a la resolución con la que se capturaron las plantillas, que la tarjeta del dispositivo está en En ejecución y que ningún script de LDPlayer envía entrada al mismo tiempo.
Contrólalo desde Python
Con la tarjeta en En ejecución, el src/app.py de una macro controla la instancia a través del paquete mas. MAS elige el puerto, así que los scripts nunca lo mencionan.
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)Lee la introducción al SDK para conocer todos los espacios de nombres y Controlar un emulador Android desde Python para un primer script completo.
Siguientes pasos
Páginas relacionadas
Gracias. Si algo está mal, cuéntanoslo en Discord.
¿Dudas? Pregunta en Discord