# adb 연결 안됨 해결: 블루스택, LD플레이어 에뮬레이터 ADB 오류

> Macro Automation Studio에서 BlueStacks, LDPlayer, MuMu, MEmu, Nox의 adb 연결 안됨, 기기 없음, offline 오류를 직접 확인할 adb 명령과 함께 해결합니다.

Source: https://automationmacro.com/ko/docs/adb-troubleshooting (기기, updated 2026-09-05)

Macro Automation Studio(MAS)의 모든 로컬 기기는 `127.0.0.1:<port>`로의 adb 연결입니다. adb 연결 안됨 상태로 기기가 시작되지 않을 때 원인은 거의 항상 몇 가지 문제 중 하나이며, BlueStacks, LDPlayer, MuMu Player, MEmu, Nox에 같은 해결법이 적용됩니다. 이 페이지는 adb 연결 안됨 문제를 직접 실행해 볼 수 있는 명령과 함께 정리합니다.

## MAS가 adb를 쓰는 방식

순서를 알면 오류를 읽을 수 있습니다. 기기에서 **Start**를 클릭하면 MAS는:

1. 자체 adb 빌드로 `adb start-server`를 실행합니다.
2. `adb devices -l`로 기기를 나열합니다. 해당 포트가 이미 있으면 먼저 끊습니다.
3. `adb connect 127.0.0.1:<port>`를 실행하고 출력을 읽습니다. "cannot connect", "failed to connect", "unable to connect", "connection refused", "bad port" 중 하나가 나오면 기기가 "unable to connect to device"로 실패합니다.
4. 이후 모든 명령을 `adb -s 127.0.0.1:<port> shell ...`로 보냅니다: 탭, 스와이프, 스크린샷용 `screencap`, 화면 크기용 `wm size`.
5. 앱이 닫힐 때 `adb kill-server`를 실행합니다.

Windows에서 MAS는 adb를 `C:\ProgramData\MacroAutomationStudio\3rdparty\platform-tools`에 함께 제공합니다. Mac에서는 adb가 앱 번들 안에 있으며, PATH와 Homebrew가 대안입니다.

## 직접 연결 확인하기

터미널을 열고 MAS가 실행하는 것과 같은 단계를 실행합니다. 에뮬레이터 설정의 포트를 사용하세요.

```bash
adb devices
adb connect 127.0.0.1:5555
adb -s 127.0.0.1:5555 shell wm size
```

정상적인 에뮬레이터는 마지막 줄에 `Physical size: 540x960` 같은 값으로 응답합니다. 출력이 이상하면 서버를 초기화하고 다시 시도합니다:

```bash
adb kill-server
adb start-server
adb connect 127.0.0.1:5555
```

adb 위치: 에뮬레이터마다 자체 사본이 있고(Nox는 `bin` 폴더에 `nox_adb.exe`, MuMu Player는 설치 폴더에 `adb_server.exe`), MAS는 Windows에 하나를 함께 제공하며, Mac에서는 `brew install android-platform-tools`로 표준 빌드를 받습니다.

## ADB 설정 위치

| 에뮬레이터 | ADB 켜기 | 첫 인스턴스 포트 | 추가 인스턴스 |
|---|---|---|---|
| BlueStacks 5 | **Settings**, **Advanced** 탭, **Android Debug Bridge** 켜기 | 5555, 또는 5555가 사용 중이면 다른 포트 | 인스턴스마다 자기 포트. MAS는 5555부터 8500까지 인정 |
| LDPlayer | **Settings**, **Other settings**, **ADB debugging**을 **Open local connection**으로 설정, **Save settings** 클릭, 인스턴스 재시작 | 5555 | 5557, 5559 등. MAS는 5599까지의 홀수 포트 인정 |
| MuMu Player | 포트는 **Settings**, **ADB port** 아래 또는 **Device Diagnostic**에 표시 | 16384 (이전 버전: 7555) | 인스턴스마다 32 추가: 16416, 16448 등 |
| MEmu | 기본으로 켜짐. 호스트 포트가 Android 포트 5555에 대응 | 21503 | 21513, 21523 등 |
| Nox | 기본으로 켜짐. `bin` 폴더에서 `nox_adb.exe connect 127.0.0.1:62001`로 연결 | 62001 | 62001 위로 63000까지 |

공식 페이지: [BlueStacks](https://support.bluestacks.com/hc/en-us/articles/23925869130381-How-to-enable-Android-Debug-Bridge-on-BlueStacks-5), [LDPlayer](https://www.ldplayer.net/blog/how-to-solve-locked-screen.html), [MuMu Player](https://www.mumuplayer.com/help/win/connect-adb.html), [MEmu](https://www.memuplay.com/blog/how-to-manipulate-memu-thru-command-line.html), [Nox](https://www.bignox.com/blog/how-to-connect-android-studio-with-nox-app-player-for-android-development-and-debug/).

## 블루스택 adb 연결 안됨과 그 밖의 에뮬레이터 오류

### ADB가 동작하지 않음

아무것도 연결되지 않습니다: MAS의 **Port** 목록이 비어 있고 `adb connect`가 "cannot connect" 또는 "connection refused"를 표시합니다.

원인: 에뮬레이터에서 ADB가 꺼져 있거나 인스턴스 부팅이 끝나지 않았습니다. BlueStacks와 LDPlayer는 ADB가 꺼진 채로 설치됩니다.

- 위 표를 참고해 ADB를 켜고, 공식 안내가 요구하는 곳에서는 인스턴스를 다시 시작하세요.
- Android 홈 화면이 뜰 때까지 기다린 뒤 **Add New Device**에서 **Refresh**를 클릭하세요.
- 터미널에서 `adb connect 127.0.0.1:<port>`를 실행하세요. "connected to 127.0.0.1:<port>"가 나오면 MAS도 연결됩니다.
- 보안 도구가 로컬 연결을 막고 있다면 adb와 에뮬레이터를 허용하세요.

### ADB 기기를 찾을 수 없음

기기 카드가 Error로 끝나고 로그에 "unable to connect to device"가 나오거나, 스크립트가 첫 호출에서 `DeviceNotConnectedError`를 발생시킵니다.

원인: 포트에 아무것도 없거나, 에뮬레이터가 닫혔거나, 실행 시작 후 연결이 끊어졌습니다.

- 기기 카드의 포트와 에뮬레이터 설정의 포트를 비교하세요. **Edit Device**로 고칩니다.
- `adb devices`를 실행하세요. 항목이 없으면 `adb connect 127.0.0.1:<port>`를 실행하고 응답을 읽으세요.
- 에뮬레이터 인스턴스를 다시 시작한 뒤 **Start**를 다시 클릭하세요. MAS는 시작할 때마다 처음부터 다시 연결합니다.
- 에뮬레이터보다 MAS를 먼저 시작했다면 **Refresh**를 클릭해 포트 목록을 최신으로 만드세요.

### 기기가 offline으로 표시됨

`adb devices`에 `127.0.0.1:<port>  offline`이 나오고 명령이 멈추거나 아무것도 반환하지 않습니다.

원인: adb 서버가 오래된 항목을 갖고 있거나, 버전이 다른 두 adb 빌드가 서버를 두고 다투거나, 에뮬레이터가 아직 부팅 중입니다.

- `adb kill-server`를 실행한 뒤 `adb connect 127.0.0.1:<port>`를 다시 실행하세요.
- MAS가 실행되는 동안 자체 adb 서버를 시작하는 다른 도구(Android Studio, 다른 에뮬레이터의 콘솔)를 닫으세요.
- 에뮬레이터 인스턴스를 다시 시작하세요. "null or offline"에 대한 Nox의 공식 조언도 같습니다: Nox를 다시 시작하고 다시 연결하세요.
- 부팅이 끝날 때까지 기다리세요. 아직 로딩 중인 인스턴스는 `offline`으로 응답합니다.

### 잘못되었거나 바뀐 ADB 포트

어제는 되던 기기가 같은 설정으로 오늘 실패합니다.

원인: 에뮬레이터는 인스턴스가 시작될 때 포트를 배정하며, 인스턴스를 만들거나 복제하거나 삭제하면 포트가 밀립니다. BlueStacks는 5555가 사용 중이면 다른 포트로 옮깁니다.

- 인스턴스가 부팅된 뒤 에뮬레이터 설정이나 `adb devices`에서 현재 포트를 읽으세요.
- MAS에서 기기 카드를 열고 **Edit Device**를 클릭해 새 포트를 설정하고 저장하세요.
- 안정적인 구성을 위해 에뮬레이터의 다중 인스턴스 관리자에서 인스턴스 순서를 유지하고 첫 인스턴스를 삭제하지 마세요.

### 여러 인스턴스

첫 인스턴스만 연결되거나 MAS가 "Port is already in use"를 표시합니다.

원인: 인스턴스마다 자기 포트와 자기 기기 항목이 필요하며, 포트는 한 번만 추가할 수 있습니다.

- 인스턴스마다 그 인스턴스의 포트로 기기를 하나씩 추가하세요. 범위는 위 표에 있습니다: LDPlayer와 MuMu Player는 홀수 포트 5555, 5557, 5559를 쓰고, MuMu Player 12는 인스턴스마다 32를, MEmu는 10을 더하며, Nox는 62001부터 올라갑니다.
- 카드를 쉽게 구별할 수 있도록 인스턴스 이름과 맞는 기기 이름을 주세요.
- 인스턴스를 하나씩 시작하고 **Refresh**를 클릭해 새 포트가 목록에 나타나게 하세요.
- 같은 매크로, 다른 계정: 설정 프로필을 써서 기기마다 자기 인수를 따르게 하세요. [기기 그룹](/docs/device-groups)을 참고하세요.

### Mac에서의 adb

MAS가 "ADB executable not found. Please install ADB using your package manager"를 표시합니다.

원인: 앱 번들 안의 adb를 실행할 수 없었고 PATH나 `/opt/homebrew`에서도 아무것도 찾지 못했습니다.

- `brew install android-platform-tools`로 표준 빌드를 설치한 뒤 MAS를 다시 시작하세요.
- 터미널에서 `which adb`와 `adb version`으로 확인하세요. MAS는 앱 번들, PATH, `/opt/homebrew/bin`, `/usr/local/bin` 순으로 찾습니다.
- Mac에서는 에뮬레이터도 그 Mac에서 실행되어야 합니다. MAS는 항상 `127.0.0.1`로 연결합니다.
- 사용하는 Mac 에뮬레이터 빌드에 ADB가 전혀 없다면 [클라우드 기기](/cloud-devices)는 로컬 adb 없이 실행됩니다.

### MAS가 스캔하는 에뮬레이터 ADB 포트

MAS는 `adb devices`가 아니라 실행 중인 프로세스에서 **Port** 목록을 만듭니다. 프로세스 이름과 포트 범위가 모두 맞을 때만 포트를 남깁니다:

| 에뮬레이터 | 프로세스 이름 | 인정하는 포트 |
|---|---|---|
| BlueStacks | `HD-Player`, `BlueStacks` | 5555부터 8500까지 |
| LDPlayer | `LdVBoxHeadless`, `Ld9BoxHeadless`, `dnplayer`, `LDPlayer`, `VBoxNetNAT` | 5555부터 5599까지의 홀수 포트 |
| Nox | `NoxVMHandle` | 62001부터 63000까지 |
| MEmu | `MEmuHeadless`, `MEmuHyper` | 21503과 3으로 끝나는 29993까지의 모든 포트 |
| MuMu Player | `NemuHeadless`, `MuMu` | 5555부터 5599까지의 홀수 포트, 7555, 16384부터 16576까지, 26624부터 27264까지 |

`127.0.0.1`, `0.0.0.0` 또는 모든 인터페이스에 바인딩된 포트만 고려합니다. 이 규칙 밖의 포트는 목록에 나타나지 않지만, **Custom Port**는 1024부터 65535까지 어떤 값이든 받으므로 MAS가 모르는 에뮬레이터도 직접 추가할 수 있습니다.

## 그래도 안 될 때

기기 카드의 **Logs**(**Save** 버튼이 파일로 저장합니다), `adb devices`의 출력, 에뮬레이터 이름과 버전을 모아 [Discord](https://discord.gg/macroautomationstudio)에서 묻거나 [support@automationmacro.com](mailto:support@automationmacro.com)으로 이메일을 보내세요. 일반적인 앱 문제는 [문제 해결](/docs/troubleshooting) 페이지에 있습니다.
