Dispositivos
ADB no detecta mi dispositivo: soluciones para emuladores
Arregla adb no detecta mi dispositivo, device not found y offline en BlueStacks, LDPlayer, MuMu, MEmu y Nox con Macro Automation Studio y comandos adb.
- Windows
- Mac
- Emulador
- Teléfono
- Studio
En esta página
- Cómo usa MAS adb
- Comprueba la conexión tú mismo
- Dónde está el ajuste de ADB
- ADB no detecta mi dispositivo y otros errores de emulador
- ADB no funciona
- ADB no reconoce mi dispositivo (device not found)
- El dispositivo aparece offline
- Puerto ADB incorrecto o cambiado
- Varias instancias
- adb en Mac
- Qué puertos ADB de emulador busca MAS
- Sigo atascado
Cada dispositivo local de Macro Automation Studio (MAS) es una conexión adb a 127.0.0.1:<port>, y “adb no detecta mi dispositivo” es el síntoma más habitual cuando algo falla. Cuando adb no detecta mi dispositivo y este no arranca, la causa es casi siempre uno de un puñado de problemas, y las mismas soluciones sirven para BlueStacks, LDPlayer, MuMu Player, MEmu y Nox. Esta página los lista con los comandos que puedes ejecutar tú mismo.
Cómo usa MAS adb
Conocer la secuencia hace legibles los errores. Cuando haces clic en Iniciar en un dispositivo, MAS:
- Ejecuta
adb start-servercon su propia versión de adb. - Lista los dispositivos con
adb devices -l. Si tu puerto ya aparece, lo desconecta primero. - Ejecuta
adb connect 127.0.0.1:<port>y lee la salida. Cualquiera de “cannot connect”, “failed to connect”, “unable to connect”, “connection refused” o “bad port” hace fallar el dispositivo con “unable to connect to device”. - Envía cada comando posterior como
adb -s 127.0.0.1:<port> shell ...: toques, deslizamientos,screencappara las capturas ywm sizepara el tamaño de pantalla. - Ejecuta
adb kill-servercuando la app se cierra.
En Windows, MAS incluye adb en C:\ProgramData\MacroAutomationStudio\3rdparty\platform-tools. En Mac, adb va dentro del paquete de la app, con tu PATH y Homebrew como alternativas.
Comprueba la conexión tú mismo
Abre una terminal y ejecuta los mismos pasos que ejecuta MAS. Usa el puerto que aparece en los ajustes del emulador.
adb devices
adb connect 127.0.0.1:5555
adb -s 127.0.0.1:5555 shell wm sizeUn emulador sano responde a la última línea con Physical size: 540x960 o similar. Cuando la salida parece incorrecta, reinicia el servidor y prueba otra vez:
adb kill-server
adb start-server
adb connect 127.0.0.1:5555Dónde encontrar adb: los emuladores incluyen sus propias copias (Nox lo llama nox_adb.exe en su carpeta bin; MuMu Player guarda adb_server.exe en su carpeta de instalación), MAS incluye uno en Windows, y en un Mac brew install android-platform-tools te da la versión estándar.
Dónde está el ajuste de ADB
| Emulador | Activar ADB | Puerto de la primera instancia | Más instancias |
|---|---|---|---|
| BlueStacks 5 | Configuración, pestaña Avanzado, activar Android Debug Bridge | 5555, u otro puerto cuando el 5555 está ocupado | Cada instancia recibe su propio puerto; MAS acepta de 5555 a 8500 |
| LDPlayer | Configuración, Otros ajustes, poner Depuración ADB en Abrir conexión local, hacer clic en Guardar configuración y reiniciar la instancia | 5555 | 5557, 5559 y así sucesivamente; MAS acepta puertos impares hasta el 5599 |
| MuMu Player | El puerto aparece en Configuración, Puerto ADB, o en Diagnóstico del dispositivo | 16384 (versiones antiguas: 7555) | Cada instancia suma 32: 16416, 16448 y así sucesivamente |
| MEmu | Activado por defecto; el puerto del anfitrión se asigna al puerto 5555 de Android | 21503 | 21513, 21523 y así sucesivamente |
| Nox | Activado por defecto; conecta con nox_adb.exe connect 127.0.0.1:62001 desde la carpeta bin | 62001 | Puertos por encima de 62001 hasta 63000 |
Páginas de los fabricantes: BlueStacks, LDPlayer, MuMu Player, MEmu, Nox.
ADB no detecta mi dispositivo y otros errores de emulador
ADB no funciona
Nada se conecta: la lista Puerto de MAS está vacía y adb connect informa de “cannot connect” o “connection refused”.
Causa: ADB está desactivado en el emulador, o la instancia no ha terminado de arrancar. BlueStacks y LDPlayer vienen con ADB desactivado.
- Activa ADB con la tabla de arriba y reinicia la instancia cuando el fabricante lo indique.
- Espera a que aparezca la pantalla de inicio de Android y haz clic en Actualizar en Añadir nuevo dispositivo.
- Ejecuta
adb connect 127.0.0.1:<port>en una terminal. “connected to 127.0.0.1:” significa que MAS también se conectará. - Si una herramienta de seguridad bloquea las conexiones locales, permite adb y el emulador en ella.
ADB no reconoce mi dispositivo (device not found)
La tarjeta del dispositivo acaba en Error y el log dice “unable to connect to device”, o un script lanza DeviceNotConnectedError en su primera llamada.
Causa: el puerto no pertenece a nada, el emulador se cerró o la conexión se cayó después de empezar la ejecución.
- Compara el puerto de la tarjeta del dispositivo con el de los ajustes del emulador. Corrígelo con Editar dispositivo.
- Ejecuta
adb devices. Si falta la entrada, ejecutaadb connect 127.0.0.1:<port>y lee la respuesta. - Reinicia la instancia del emulador y haz clic en Iniciar otra vez. MAS vuelve a conectar desde cero en cada inicio.
- Si abriste MAS antes que el emulador, haz clic en Actualizar para que la lista de puertos esté al día.
El dispositivo aparece offline
adb devices lista 127.0.0.1:<port> offline y los comandos se cuelgan o no devuelven nada.
Causa: el servidor adb conserva una entrada obsoleta, dos versiones distintas de adb se pelean por el servidor, o el emulador sigue arrancando.
- Ejecuta
adb kill-servery luegoadb connect 127.0.0.1:<port>otra vez. - Cierra otras herramientas que inicien su propio servidor adb (Android Studio, la consola de otro emulador) mientras MAS está en marcha.
- Reinicia la instancia del emulador. El propio consejo de Nox para “null or offline” es el mismo: reinicia Nox y vuelve a conectar.
- Espera a que termine el arranque; una instancia que aún carga responde
offline.
Puerto ADB incorrecto o cambiado
El dispositivo funcionaba ayer y hoy falla con los mismos ajustes.
Causa: los emuladores reparten puertos al arrancar una instancia, y crear, clonar o borrar instancias los desplaza. BlueStacks pasa a otro puerto cuando el 5555 está ocupado.
- Lee el puerto actual en los ajustes del emulador o en
adb devicesdespués de que arranque la instancia. - En MAS, abre la tarjeta del dispositivo, haz clic en Editar dispositivo, pon el puerto nuevo y guarda.
- Para una configuración estable, mantén las instancias en el mismo orden en el gestor de instancias múltiples del emulador y evita borrar la primera.
Varias instancias
Solo se conecta la primera instancia, o MAS informa de “Port is already in use”.
Causa: cada instancia necesita su propio puerto y su propia entrada de dispositivo; un puerto se puede añadir una sola vez.
- Añade un dispositivo por instancia, cada uno con el puerto de la instancia. Los rangos están en la tabla de arriba: LDPlayer y MuMu Player usan puertos impares 5555, 5557, 5559; MuMu Player 12 suma 32 por instancia; MEmu suma 10; Nox cuenta hacia arriba desde 62001.
- Da a cada dispositivo un nombre que coincida con el de la instancia para distinguir las tarjetas fácilmente.
- Inicia las instancias de una en una y haz clic en Actualizar para que cada puerto nuevo aparezca en la lista.
- Misma macro, cuentas distintas: usa perfiles de ajustes para que cada dispositivo siga sus propios argumentos. Consulta Grupos de dispositivos.
adb en Mac
MAS muestra “ADB executable not found. Please install ADB using your package manager”.
Causa: el adb del paquete de la app no se pudo ejecutar y no se encontró nada en tu PATH ni en /opt/homebrew.
- Instala la versión estándar con
brew install android-platform-toolsy reinicia MAS. - Comprueba con
which adbyadb versionen Terminal. MAS busca en el paquete de la app, luego en el PATH y luego en/opt/homebrew/biny/usr/local/bin. - En un Mac el emulador también debe ejecutarse en el Mac; MAS siempre marca
127.0.0.1. - Si tu versión de emulador para Mac no tiene ADB en absoluto, un dispositivo en la nube funciona sin ningún adb local.
Qué puertos ADB de emulador busca MAS
MAS construye la lista Puerto a partir de los procesos en ejecución, no de adb devices. Conserva un puerto solo cuando el nombre del proceso y el rango de puertos coinciden:
| Emulador | Nombres de proceso | Puertos conservados |
|---|---|---|
| BlueStacks | HD-Player, BlueStacks | De 5555 a 8500 |
| LDPlayer | LdVBoxHeadless, Ld9BoxHeadless, dnplayer, LDPlayer, VBoxNetNAT | Puertos impares de 5555 a 5599 |
| Nox | NoxVMHandle | De 62001 a 63000 |
| MEmu | MEmuHeadless, MEmuHyper | 21503 y todos los puertos terminados en 3 hasta 29993 |
| MuMu Player | NemuHeadless, MuMu | Puertos impares de 5555 a 5599, 7555, de 16384 a 16576, de 26624 a 27264 |
Solo se consideran los puertos enlazados a 127.0.0.1, 0.0.0.0 o a todas las interfaces. Un puerto fuera de estas reglas nunca aparece en la lista, pero Puerto personalizado acepta cualquier valor de 1024 a 65535, así que un emulador que MAS no conoce se puede añadir a mano igualmente.
Sigo atascado
Reúne los Logs de la tarjeta del dispositivo (el botón Guardar los escribe en un archivo), la salida de adb devices y el nombre y la versión del emulador, y pregunta en Discord o escribe a support@automationmacro.com. Los problemas generales de la app están en la página Solución de problemas.
Siguientes pasos
Páginas relacionadas
Gracias. Si algo está mal, cuéntanoslo en Discord.
¿Dudas? Pregunta en Discord