# BlueStacks ADB connect: puerto y conexión con MAS

> Activa ADB en BlueStacks 5, localiza el puerto ADB, conecta Macro Automation Studio y arregla los errores device not found y offline en Windows y Mac.

Source: https://automationmacro.com/es/docs/bluestacks-setup-guide (Dispositivos, updated 2026-09-05)

Esta guía explica el proceso de BlueStacks ADB connect en Macro Automation Studio (MAS): activar ADB, encontrar el puerto ADB y añadir la instancia como dispositivo. Con BlueStacks ADB connect resuelto, cubre BlueStacks 5 en Windows y la versión de BlueStacks para Mac con Apple Silicon, y termina con los errores más habituales.

## Antes de empezar

- MAS instalado y con sesión iniciada en Windows 10 u 11, o en un Mac con Apple Silicon. MAS es una descarga gratuita para la prueba; consíguelo en la [página de descarga](/download).
- BlueStacks instalado desde [bluestacks.com](https://www.bluestacks.com/) 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 BlueStacks.

## 1. Instalar BlueStacks

<div class="doc-tabs" data-tabs="os">
<section data-tab="Windows">

1. Descarga BlueStacks 5 desde el sitio del fabricante y ejecuta el instalador.
2. Inicia BlueStacks y espera a la pantalla de inicio.
3. Instala e inicia sesión en las apps que quieres automatizar antes de añadir el dispositivo a MAS.

</section>
<section data-tab="Mac">

1. Descarga la versión para Apple Silicon, BlueStacks Air, desde [bluestacks.com/mac](https://www.bluestacks.com/mac).
2. Abre el DMG y arrastra **BlueStacks** a **Aplicaciones**.
3. Ábrelo desde Aplicaciones y espera a la pantalla de inicio.

</section>
</div>

<figure class="device-window">
<img src="/images/bluestacks1.jpg" alt="Pantalla de descarga e instalación de BlueStacks" width="1200" height="720" loading="lazy" />
<figcaption>Instala la versión actual de BlueStacks 5 y deja que termine su primer arranque.</figcaption>
</figure>

## 2. Ajustes recomendados

MAS compara las imágenes de plantilla píxel a píxel, así que la pantalla no debe cambiar después de capturar las plantillas. Abre **Configuración** desde el icono de engranaje de la barra lateral y define:

| Pestaña | Ajuste | Valor |
|---|---|---|
| **Rendimiento** | Asignación de CPU | 2 núcleos; más está bien mientras desarrollas |
| **Rendimiento** | Asignación de memoria | 4 GB o más si hay disponible |
| **Pantalla** | Resolución | Vertical, 540 x 960 |
| **Pantalla** | Densidad de píxeles | 240 DPI |

Haz clic en **Guardar cambios** y reinicia la instancia cuando BlueStacks lo pida. Las macros escritas para la línea base de MAS esperan **540x960** a **240 DPI**; una macro que escribas tú espera la resolución que capturaste en Asset Lab. Si una ejecución va a tirones, cierra apps en segundo plano y da a la instancia más núcleos y memoria.

<figure class="device-window">
<img src="/images/bluestacks2.png" alt="Ajustes de rendimiento y pantalla de BlueStacks" width="1200" height="720" loading="lazy" />
<figcaption>Ajustes de Rendimiento y Pantalla para una instancia estable en MAS.</figcaption>
</figure>

> [!WARNING]
> Cambiar la resolución o el DPI después de capturar las plantillas desplaza todas las coincidencias, y los clics caen en el sitio equivocado. Elige los ajustes de pantalla una vez y mantenlos.

## 3. Activar ADB en BlueStacks 5

BlueStacks viene con ADB desactivado. MAS lo necesita activado.

<div class="doc-tabs" data-tabs="os">
<section data-tab="Windows">

1. Haz clic en el icono de engranaje de la barra lateral para abrir **Configuración**.
2. Haz clic en la pestaña **Avanzado**.
3. Activa **Android Debug Bridge**.
4. Haz clic en **Guardar cambios**.
5. Anota la dirección que aparece bajo el interruptor, por ejemplo `127.0.0.1:5555`. El número después de los dos puntos es el puerto ADB. La primera instancia suele recibir el 5555; la captura de abajo muestra el 5625.

</section>
<section data-tab="Mac">

1. Abre **Configuración** desde el icono de engranaje de la barra lateral o desde el icono de menú de la barra superior.
2. Busca una opción Android Debug Bridge. La guía de ajustes del fabricante para BlueStacks Air lista Rendimiento, Pantalla, Gráficos, Preferencias y Acerca de, sin interruptor de ADB. Las versiones antiguas de BlueStacks para macOS tenían uno en Preferencias.
3. Si tu versión tiene la opción, actívala, guarda y anota el puerto después de `127.0.0.1`.
4. Si no la tiene, MAS no puede conectarse a esta versión. Usa otro emulador que exponga ADB en el Mac, o un [dispositivo en la nube](/docs/cloud-devices).

</section>
</div>

<figure class="device-window">
<img src="/images/bluestacks3.png" alt="Pantalla de activación de ADB en BlueStacks con el puerto local" width="1200" height="720" loading="lazy" />
<figcaption>La pestaña Avanzado con Android Debug Bridge activado. Aquí el puerto es el 5625.</figcaption>
</figure>

## 4. El puerto ADB de BlueStacks y cómo lo busca MAS

MAS no ejecuta `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 `hd-player` o `bluestacks`.
- El puerto está entre 5555 y 8500.
- El socket escucha en `127.0.0.1`, `0.0.0.0` o en todas las interfaces.

Los puertos que coinciden aparecen en el diálogo **Añadir nuevo dispositivo** con la etiqueta `Bluestacks`, por ejemplo `5555 - Bluestacks`. MAS busca al abrir un grupo de dispositivos y cada vez que haces clic en **Actualizar**. Cada instancia de BlueStacks escucha en su propio puerto, así que dos instancias dan dos entradas.

## 5. BlueStacks ADB connect: conectar la instancia en MAS

1. Abre **Grupos de dispositivos** en la barra lateral y abre un grupo, o crea uno.
2. Haz clic en **Añadir dispositivo**.
3. Escribe un **Nombre del dispositivo** de hasta 50 caracteres.
4. En **Puerto**, elige la entrada `Bluestacks` de esta instancia. Haz clic en **Actualizar** si la lista está vacía.
5. Si BlueStacks muestra un puerto que MAS no lista, elige **Puerto personalizado** y escríbelo. MAS acepta de 1024 a 65535.
6. Opcionalmente elige una **Macro de inicio**.
7. 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 BlueStacks

El grabador de macros de BlueStacks repite toques en coordenadas fijas. Una macro de MAS es un script de Python que mira la pantalla primero: la coincidencia de plantillas encuentra el botón, el OCR lee el texto y los reintentos absorben una carga lenta o un aviso emergente. [Primeros pasos](/docs/getting-started) ejecuta tu primera macro, [Macros con reconocimiento de imagen](/docs/guides/image-recognition-macros) reconstruye una rutina grabada como una que mira la pantalla, y el [Programador](/docs/scheduler) la ejecuta a diario, cada semana o cada mes.

> [!NOTE]
> Detén el grabador de BlueStacks antes de iniciar un dispositivo en MAS. Los dos envían entrada a la misma pantalla y se interfieren.

## Varias instancias de BlueStacks

Las instancias creadas en el **Administrador de instancias múltiples** escuchan cada una en su propio puerto ADB. Añade cada una como un dispositivo aparte en el mismo grupo de dispositivos, dale a cada una su macro y su perfil de ajustes, y usa **Iniciar todos** y **Detener todos** en el grupo. Consulta [Grupos de dispositivos](/docs/device-groups) para argumentos y proxies por dispositivo.

## Solución de problemas

### Activar ADB en BlueStacks 5

La lista **Puerto** de MAS está vacía y `adb connect 127.0.0.1:5555` responde "cannot connect" o "connection refused". ADB está apagado. Abre **Configuración**, haz clic en **Avanzado**, activa **Android Debug Bridge**, haz clic en **Guardar cambios**, reinicia la instancia y haz clic en **Actualizar** en **Añadir nuevo dispositivo**. Si la pestaña **Avanzado** no tiene ese interruptor, instala la versión actual de BlueStacks 5 desde el sitio del fabricante.

### Encontrar o cambiar el puerto ADB

El puerto aparece bajo el interruptor **Android Debug Bridge** como `127.0.0.1:<port>`. BlueStacks lo asigna al arrancar y pasa a otro puerto cuando el 5555 está ocupado, así que puede cambiar después de crear, clonar o borrar instancias; la guía de ADB del fabricante no documenta ningún campo para fijarlo a mano. Cuando cambie, haz clic en **Editar dispositivo** en la tarjeta de MAS y elige el puerto nuevo. Iniciar las instancias siempre en el mismo orden mantiene los puertos estables.

### ADB device not found

La tarjeta acaba en **Error** con "Failed to start device", el log dice "unable to connect to device" o un script lanza `DeviceNotConnectedError`.

- La instancia sigue arrancando. Espera a la pantalla de inicio y haz clic en **Iniciar** otra vez.
- El puerto de la tarjeta no es el que muestra BlueStacks. Corrígelo con **Editar dispositivo**.
- Una actualización volvió a desactivar ADB. Revisa la pestaña **Avanzado**.
- Ejecuta `adb connect 127.0.0.1:<port>` en una terminal. "connected to" significa que MAS también se conectará.

### El dispositivo 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, cierra otras herramientas que ejecuten su propio servidor adb y haz clic en **Iniciar**; MAS vuelve a conectar desde cero. Si sigue offline, reinicia MAS para que su servidor adb arranque limpio. Hay más soluciones en [Solución de problemas de ADB](/docs/adb-troubleshooting).

### BlueStacks ADB en Mac

En un Mac hay dos diferencias. Primero, MAS necesita un binario de adb: lo busca dentro de su paquete de app, luego en tu PATH y luego en las carpetas de Homebrew. Si MAS informa de "ADB executable not found. Please install ADB using your package manager", instala adb con Homebrew y reinicia MAS:

```bash
brew install android-platform-tools
```

Segundo, MAS siempre marca `127.0.0.1`, así que BlueStacks debe ejecutarse en el mismo Mac y exponer ADB. BlueStacks Air es la única versión para Apple Silicon y sus ajustes documentados no tienen interruptor de ADB; sin él, MAS no puede controlarlo.

## Contrólalo desde Python

Con la tarjeta en **En ejecución**, el `src/app.py` de una macro controla BlueStacks a través del paquete `mas`. MAS elige el puerto, así que los scripts nunca lo mencionan.

```python
import mas

size = mas.get_screen_size()
mas.log(f"BlueStacks 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](/docs/sdk) para conocer todos los espacios de nombres y [Controlar un emulador Android desde Python](/docs/guides/control-an-emulator-from-python) para un primer script completo.
