기기
안드로이드 에뮬레이터 매크로: 기기 추가와 adb 포트
Macro Automation Studio의 안드로이드 에뮬레이터 매크로 기기 설정: 자동 검색되는 에뮬레이터, adb 포트 규칙, 포트로 기기 추가, 클라우드 기기와 휴대폰 연결을 다룹니다.
- Windows
- Mac
- 에뮬레이터
- 클라우드 기기
- 휴대폰
- 스튜디오
- Python SDK
이 페이지의 내용
Macro Automation Studio(MAS)의 안드로이드 에뮬레이터 매크로는 기기에서 시작합니다: 이 컴퓨터의 Android 에뮬레이터, MAS 클라우드의 클라우드 기기, 또는 고급 경로로 본인의 휴대폰. 이 페이지는 MAS가 안드로이드 에뮬레이터를 찾는 방법, 매크로 기기로 추가하는 방법, 그리고 나머지 두 종류가 어디에 맞는지 설명합니다.
시작하기 전에
- MAS가 설치되어 있고 활성 체험 또는 요금제로 로그인한 상태. MAS 설치를 참고하세요. 체험용 MAS는 다운로드 페이지에서 무료로 받을 수 있습니다.
- 에뮬레이터의 경우: 에뮬레이터가 실행 중이고 설정에서 ADB가 켜져 있어야 합니다. 위치는 BlueStacks, LDPlayer, MuMu Player, MEmu 가이드에 있습니다.
- 클라우드 기기의 경우: 클라우드 기기 추가 옵션이 있는 요금제. 클라우드 기기를 참고하세요.
MAS가 에뮬레이터 adb 포트를 찾는 방법
MAS는 에뮬레이터를 찾기 위해 adb devices를 실행하지 않습니다. 실행 중인 프로세스에서 알려진 에뮬레이터 이름을 찾고, 각 프로세스가 수신하는 TCP 포트를 읽은 뒤, 그 에뮬레이터의 알려진 범위 안에 있는 포트만 남깁니다. 127.0.0.1, 0.0.0.0 또는 모든 인터페이스에 바인딩된 포트만 인정합니다. 그 결과가 Add New Device 대화 상자의 Port 목록을 채우며, 포트마다 에뮬레이터 이름이 옆에 붙은 항목 하나가 표시됩니다.
| 에뮬레이터 | MAS가 찾는 프로세스 이름 | MAS가 인정하는 포트 |
|---|---|---|
| BlueStacks | HD-Player, BlueStacks | 5555부터 8500까지 |
| LDPlayer | LdVBoxHeadless, Ld9BoxHeadless, dnplayer, LDPlayer, VBoxNetNAT | 5555부터 5599까지의 홀수 포트 |
| Nox | NoxVMHandle | 62001부터 63000까지 |
| MEmu | MEmuHeadless, MEmuHyper | 21503과 그 위로 3으로 끝나는 30000 미만의 모든 포트 |
| MuMu Player | NemuHeadless, MuMu | 5555부터 5599까지의 홀수 포트, 7555, 16384부터 16576까지, 또는 26624부터 27264까지 |
에뮬레이터 인스턴스마다 자기 포트로 수신하므로 BlueStacks 창 두 개는 항목 두 개로 나타납니다. 사용하는 에뮬레이터가 표에 없거나 범위 밖 포트를 쓰더라도 포트를 직접 입력할 수 있습니다.
안드로이드 에뮬레이터를 자동화 기기로 추가
- MAS에서 Device Groups를 열고 Create New Group을 클릭합니다.
- Name(3자에서 255자)을 입력하고 유형은 Local로 둔 채 Create Group을 클릭합니다.
- 그룹을 열고 Add Device를 클릭합니다.
- 최대 50자의 Device Name을 입력합니다.
- Port에서 포트를 고릅니다. 다시 스캔하려면 Refresh를 클릭합니다. 포트가 없으면 Custom Port를 선택하고 직접 입력합니다(1024부터 65535까지).
- 필요하면 Startup Macro를 고릅니다.
- Add Device를 클릭합니다.
기기 카드에는 포트, 매크로, 상태가 표시됩니다: Stopped, Connecting, Starting, Running, Stopping 또는 Error. Start는 adb connect 127.0.0.1:<port>로 에뮬레이터에 연결하고 매크로를 실행하며, Stop은 실행을 끝냅니다. 포트 하나는 기기 하나에만 속할 수 있어 두 번 추가하면 “Port is already in use”로 실패합니다. 나중에 포트를 바꾸려면 Edit Device를 클릭합니다.
한 그룹의 여러 기기가 서로 다른 매크로, 인수, 설정 프로필을 가질 수 있고, Start All이 차례로 실행합니다. 기기 그룹을 참고하세요.
클라우드 기기
클라우드 기기는 MAS가 대신 실행해 주는 Android 기기입니다. Cloud Devices 페이지에서 Create로 만들며, Android 버전, 디스플레이 프리셋, DPI를 고르면 기기가 존재하는 동안 고정됩니다. Start가 부팅하고, View가 WebRTC로 스트리밍되는 실시간 화면을 열고, Run이 앱을 닫아도 계속되는 매크로를 실행합니다. 정지된 기기는 데이터를 유지하며, 계정당 클라우드 기기를 최대 20대까지 둘 수 있습니다. APK 설치와 할당량을 포함한 나머지는 클라우드 기기 페이지에 있습니다.
본인 휴대폰
MAS는 모든 로컬 기기를 포트로 추가하고 항상 127.0.0.1로 연결합니다. USB 페어링 화면도 무선 페어링 화면도 없습니다. 따라서 휴대폰은 adb 데몬이 이 컴퓨터의 TCP 포트로 도달 가능할 때만 동작합니다. USB로는 adb 포트 포워딩으로 가능합니다.
- 휴대폰에서 개발자 옵션과 USB 디버깅을 켠 뒤 휴대폰을 연결합니다.
- 컴퓨터에서
adb devices를 실행하고 휴대폰의 승인 요청을 수락합니다. 휴대폰 시리얼이device로 표시되어야 합니다. - 휴대폰의 adb 데몬이 TCP로도 수신하게 합니다:
adb tcpip 5555. - 로컬 포트를 거기에 포워딩합니다:
adb forward tcp:5580 tcp:5555. 비어 있는 로컬 포트라면 무엇이든 되며 5580은 예시입니다. - 확인합니다:
adb connect 127.0.0.1:5580이 “connected”를 표시해야 합니다. - MAS에서 Custom Port를
5580으로 설정해 기기를 추가합니다.
휴대폰을 연결한 채 화면을 켜 두세요. 화면 크기와 DPI는 휴대폰에서 오므로 에뮬레이터에서 자른 템플릿은 맞지 않습니다. Asset Lab에서 휴대폰 화면으로 다시 자르세요.
무선 디버깅도 휴대폰을 페어링하고 adb connect <phone-ip>:<port>로 연결한 뒤에는 같은 방식으로 동작합니다. 로컬 포트를 휴대폰의 adb 포트로 포워딩하고 그 로컬 포트를 MAS에 추가하세요.
파이썬으로 제어
SDK는 아래에 어떤 종류의 기기가 있는지 신경 쓰지 않습니다. mas.get_device_info()는 이름과 화면 크기를, mas.get_screen_size()는 크기만 반환하며, 모든 탭, 스와이프, 스크린샷은 같은 호출을 거칩니다. 스크립트는 기기가 이미 바인딩된 상태로 MAS가 실행하므로 코드에서 연결할 것이 없습니다. SDK 개요부터 시작하세요.
문제 해결
Port 목록이 비어 있음
에뮬레이터가 실행 중이 아니거나, 설정에서 ADB가 꺼져 있거나, MAS가 스캔하는 에뮬레이터가 아닙니다. 에뮬레이터 부팅이 끝난 뒤 Refresh를 클릭하세요. 그래도 비어 있으면 에뮬레이터 설정에 표시된 포트로 Custom Port를 사용하세요. ADB 문제 해결을 참고하세요.
Port is already in use
내 그룹의 다른 기기가 이미 그 포트를 갖고 있습니다. 포트는 한 번만 추가할 수 있습니다. 기존 항목을 제거하거나 다른 인스턴스의 포트를 고르세요.
기기가 Connecting에 머물거나 Error로 끝남
MAS가 adb connect를 완료하지 못했거나 에뮬레이터가 첫 명령을 거부했습니다. 포트를 확인하고, ADB가 켜져 있는지 확인한 뒤 ADB 문제 해결을 따르세요.
다음 단계
관련 페이지
감사합니다. 잘못된 내용이 있으면 Discord에서 알려 주세요.
궁금한 점이 있으신가요? Discord에서 질문하기