Empezar
Automatizar aplicaciones Android con Python: guía inicial
Automatiza aplicaciones Android con Python en Macro Automation Studio: conecta un dispositivo y ejecuta un bot, pide una macro a MAS Agent o escribe la tuya.
- Windows
- Mac
- Emulador
- Dispositivo en la nube
- Teléfono
- Studio
- SDK de Python
En esta página
- Antes de empezar
- Configurar Macro Automation Studio: elige un dispositivo
- Tres formas de conseguir una macro
- Ejecutar un bot del Marketplace
- Pedírsela a MAS Agent
- Escribir Python para automatizar aplicaciones Android
- Tu primer script
- Patrones habituales
- Encontrar una imagen y tocarla
- Leer texto de una región
- Gestionar errores
- Solución de problemas
- Could not discover RPC port
- La app abre Suscripción en vez de la página que elegí
- Dispositivo no encontrado o atascado en Conectando
Macro Automation Studio (MAS) sirve para automatizar aplicaciones Android a través de la pantalla: mira el dispositivo, encuentra lo que necesita y toca. Esta página te lleva desde una instalación nueva hasta tu primera macro para automatizar aplicaciones Android con Python, ejecutándose en un emulador Android, en un dispositivo en la nube o en tu móvil. Está pensada para quien usa MAS por primera vez en Windows o Mac.
Antes de empezar
- MAS está instalado y has iniciado sesión. Consulta Instalar MAS.
- Tienes algo que automatizar: un emulador Android en este ordenador, un dispositivo en la nube o tu propio móvil. Consulta Dispositivos.
- Tu cuenta tiene una suscripción activa o la prueba gratuita. Todas las páginas de la app, salvo el inicio de sesión y Suscripción, la necesitan. Sin ella, MAS abre Suscripción y se queda ahí. Los planes están en la página de precios.
Configurar Macro Automation Studio: elige un dispositivo
Una ejecución apunta a un solo dispositivo. Elige el tipo que te encaje:
| Dispositivo | Dónde se ejecuta | Ideal para |
|---|---|---|
| Emulador (BlueStacks, LDPlayer, MuMu Player, MEmu) | En este ordenador, por adb | Primeros pasos y pruebas locales |
| Dispositivo en la nube | En la nube de MAS, transmitido a la app por WebRTC | Ejecuciones que siguen con el ordenador apagado |
| Tu propio móvil | En este ordenador, por adb (avanzado) | Apps que solo se comportan bien en hardware real |
Para añadir un emulador:
- Inicia el emulador y activa ADB en sus ajustes. Cada guía de emulador indica dónde está la opción.
- En MAS, abre Grupos de dispositivos y haz clic en Crear nuevo grupo. Deja el tipo Local.
- Abre el grupo y haz clic en Añadir dispositivo.
- Escribe un Nombre del dispositivo y elige el puerto del emulador en la lista Puerto. Haz clic en Actualizar si la lista está vacía.
- Haz clic en Añadir dispositivo.
Los dispositivos en la nube se crean en la página Dispositivos en la nube con Crear y aparecen como destinos de ejecución junto a los dispositivos locales. La ruta del móvil se describe en la página Dispositivos.
Tres formas de conseguir una macro
Ejecutar un bot del Marketplace
- Abre Marketplace y busca la app o el juego.
- Abre una publicación y haz clic en Descargar. El bot aparece en Macros con la etiqueta “Descargado del Marketplace”.
- En Grupos de dispositivos, abre tu grupo, elige el bot en el selector Macro del dispositivo y haz clic en Iniciar.
- Sigue la pestaña Logs de la tarjeta del dispositivo. Haz clic en Detener cuando termines.
El recorrido completo con capturas está en Cómo ejecutar una macro del Marketplace. Publicar tu propio bot se explica en la página Marketplace.
Pedírsela a MAS Agent
- Abre Agente y elige un dispositivo en Dispositivo.
- Describe la tarea con palabras normales y haz clic en Generar.
- Responde cuando aparezca la tarjeta “El agente necesita tu respuesta”. El agente se detiene y pregunta en lugar de adivinar.
- Cuando la macro supere 3 ejecuciones de validación, haz clic en Añadir a mis macros.
El resultado es un proyecto de Python normal que puedes abrir en el Code Editor. Generar la macro consume créditos de IA; ejecutar la macro terminada no cuesta nada. Más información en la página MAS Agent.
Escribir Python para automatizar aplicaciones Android
- Abre Macros y haz clic en Crear nuevo proyecto.
- Elige Basado en código, pon Dispositivo objetivo en móvil, nombra el proyecto y haz clic en Crear proyecto.
- Abre el proyecto. El Code Editor muestra
src/app.py. Pega el script de abajo. - Elige tu dispositivo y haz clic en Ejecutar (F5). Detener es Mayús+F5 y Guardar es Ctrl+S.
La introducción al SDK explica los espacios de nombres; la referencia de la API lista todas las funciones.
Tu primer script
Este script lee el dispositivo, hace una captura de pantalla y pasa OCR por toda la pantalla. No cambia nada en el dispositivo.
import mas
device = mas.get_device_info()
print(f"Connected to: {device.name}")
screen = mas.get_screen_size()
print(f"Screen: {screen.width}x{screen.height}")
shot = mas.take_screenshot()
print(f"Screenshot: {shot.width}x{shot.height}")
result = mas.read_text()
print(f"Screen text: {result.text[:100]}")
mas.log("First script finished")mas.log escribe una línea con nivel en la consola de ejecución. Un print normal también funciona.
Patrones habituales
Encontrar una imagen y tocarla
Recorta el botón en Asset Lab para que llegue a tu biblioteca de imágenes con un ID y decláralo con mas.images. find_object_retry busca hasta tres veces, con dos segundos entre intentos, y devuelve None cuando nada coincide.
import mas
images = mas.images({"play_button": 42})
match = mas.find_object_retry(images.play_button, total_tries=3, time_sleep=2.0)
if match:
mas.click(match.x, match.y, delay_ms=1000)
else:
mas.log("Play button not found", level="warning")find_object compara con un umbral de 0.8 por defecto. click espera 1000 ms tras el toque para que la app reaccione; baja delay_ms en bucles rápidos.
Leer texto de una región
import mas
from mas import Region
score = mas.read_text(region=Region(x1=800, y1=10, x2=1050, y2=60), psm=7)
if score.text.strip().isdigit():
print(f"Current score: {int(score.text)}")psm=7 trata la región como una sola línea, lo que va bien para contadores. Dibuja la región en Asset Lab y pruébala en directo antes de copiar las coordenadas.
Gestionar errores
import mas
try:
match = mas.find_object_retry(42)
if match:
mas.click(match.x, match.y)
except mas.DeviceNotConnectedError:
mas.log("No device connected", level="error")
except mas.ImageNotFoundError:
mas.log("Image ID is not in your library", level="error")
except mas.TimeoutError:
mas.log("The device did not answer in time", level="error")
except mas.RPCError as e:
mas.log(f"RPC error: {e}", level="error")Solución de problemas
Could not discover RPC port
El script se inició fuera de MAS o la app no está abierta. Ejecuta los scripts desde el Code Editor o desde una tarjeta de dispositivo; la app los lanza con los datos de conexión.
La app abre Suscripción en vez de la página que elegí
Tu suscripción falta o ha caducado. Inicia la prueba o elige un plan y vuelve. Consulta Facturación.
Dispositivo no encontrado o atascado en Conectando
El ADB del emulador está apagado, el emulador aún está arrancando o escucha en otro puerto. Consulta Solución de problemas de ADB.
Siguientes pasos
Páginas relacionadas
Gracias. Si algo está mal, cuéntanoslo en Discord.
¿Dudas? Pregunta en Discord