기기
adb 연결 안됨 해결: 블루스택, LD플레이어 에뮬레이터 ADB 오류
Macro Automation Studio에서 BlueStacks, LDPlayer, MuMu, MEmu, Nox의 adb 연결 안됨, 기기 없음, offline 오류를 직접 확인할 adb 명령과 함께 해결합니다.
- Windows
- Mac
- 에뮬레이터
- 휴대폰
- 스튜디오
이 페이지의 내용
Macro Automation Studio(MAS)의 모든 로컬 기기는 127.0.0.1:<port>로의 adb 연결입니다. adb 연결 안됨 상태로 기기가 시작되지 않을 때 원인은 거의 항상 몇 가지 문제 중 하나이며, BlueStacks, LDPlayer, MuMu Player, MEmu, Nox에 같은 해결법이 적용됩니다. 이 페이지는 adb 연결 안됨 문제를 직접 실행해 볼 수 있는 명령과 함께 정리합니다.
MAS가 adb를 쓰는 방식
순서를 알면 오류를 읽을 수 있습니다. 기기에서 Start를 클릭하면 MAS는:
- 자체 adb 빌드로
adb start-server를 실행합니다. adb devices -l로 기기를 나열합니다. 해당 포트가 이미 있으면 먼저 끊습니다.adb connect 127.0.0.1:<port>를 실행하고 출력을 읽습니다. “cannot connect”, “failed to connect”, “unable to connect”, “connection refused”, “bad port” 중 하나가 나오면 기기가 “unable to connect to device”로 실패합니다.- 이후 모든 명령을
adb -s 127.0.0.1:<port> shell ...로 보냅니다: 탭, 스와이프, 스크린샷용screencap, 화면 크기용wm size. - 앱이 닫힐 때
adb kill-server를 실행합니다.
Windows에서 MAS는 adb를 C:\ProgramData\MacroAutomationStudio\3rdparty\platform-tools에 함께 제공합니다. Mac에서는 adb가 앱 번들 안에 있으며, PATH와 Homebrew가 대안입니다.
직접 연결 확인하기
터미널을 열고 MAS가 실행하는 것과 같은 단계를 실행합니다. 에뮬레이터 설정의 포트를 사용하세요.
adb devices
adb connect 127.0.0.1:5555
adb -s 127.0.0.1:5555 shell wm size정상적인 에뮬레이터는 마지막 줄에 Physical size: 540x960 같은 값으로 응답합니다. 출력이 이상하면 서버를 초기화하고 다시 시도합니다:
adb kill-server
adb start-server
adb connect 127.0.0.1:5555adb 위치: 에뮬레이터마다 자체 사본이 있고(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, LDPlayer, MuMu Player, MEmu, Nox.
블루스택 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:“가 나오면 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를 클릭해 새 포트가 목록에 나타나게 하세요.
- 같은 매크로, 다른 계정: 설정 프로필을 써서 기기마다 자기 인수를 따르게 하세요. 기기 그룹을 참고하세요.
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가 전혀 없다면 클라우드 기기는 로컬 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에서 묻거나 support@automationmacro.com으로 이메일을 보내세요. 일반적인 앱 문제는 문제 해결 페이지에 있습니다.
다음 단계
관련 페이지
감사합니다. 잘못된 내용이 있으면 Discord에서 알려 주세요.
궁금한 점이 있으신가요? Discord에서 질문하기