adb error: more than one device/emulator 오류 해결 방법
adb: error: more than one device/emulator 오류를 해결해요. -s, -d, -e, ANDROID_SERIAL로 기기를 지정하는 방법과 남아 있는 와이파이 연결과 에뮬레이터를 정리하는 방법을 알려 드려요.
adb 명령을 실행했더니 이런 오류가 나와요.
adb: error: more than one device/emulatoradb에 기기가 두 대 이상 보여서 어느 기기를 말하는지 알 수 없는 상태예요. 기기를 지정하거나 원하지 않는 기기를 정리하면 해결돼요.
연결된 기기 확인
adb devices -l예시:
List of devices attached
R58M123ABC device usb:1-1 product:a54xnseea model:SM_A546B
emulator-5554 device product:sdk_gphone64 model:sdk_gphone64_arm64
192.168.1.20:5555 device product:redwood model:2211133G여기에는 USB로 연결된 폰, 에뮬레이터, 와이파이로 연결된 폰이 있어요. 이 중 어느 것이든 "남는" 기기가 될 수 있어요.
명령 하나에만 기기 지정
| 플래그 | 의미 | 예시 |
|---|---|---|
-s <serial> | 시리얼이나 주소로 특정 기기 지정 | adb -s R58M123ABC shell |
-d | USB로 연결된 유일한 기기 | adb -d install app.apk |
-e | 유일한 에뮬레이터 | adb -e logcat |
-t <id> | 이 transport id를 가진 기기(adb devices -l에서 확인) | adb -t 3 shell |
와이파이 기기는 주소가 시리얼이에요. 예를 들면 adb -s 192.168.1.20:5555 shell이에요.
터미널 전체에 기기 지정
ANDROID_SERIAL을 설정하면 그 터미널의 모든 adb 명령이 해당 기기로 가요.
export ANDROID_SERIAL=R58M123ABC # macOS / Linux
set ANDROID_SERIAL=R58M123ABC # Windows Command Prompt
$env:ANDROID_SERIAL = "R58M123ABC" # Windows PowerShell남는 기기 정리
- 오래된 와이파이 연결:
adb disconnect 192.168.1.20:5555, 모두 끊으려면adb disconnect. - 잊고 있던 에뮬레이터: Android Studio에서 닫거나
adb -s emulator-5554 emu kill. - offline 상태로 남은 유령 항목:
adb kill-server로 지워져요. - 같은 폰이 두 번(USB와 와이파이로 한 번씩): 둘 중 하나의 연결을 끊으세요.
여러 기기를 다루는 스크립트
연결된 모든 기기에서 같은 명령을 실행하려면 시리얼을 반복문으로 돌리세요.
for s in $(adb devices | awk 'NR>1 && $2=="device" {print $1}'); do
adb -s "$s" shell getprop ro.product.model
done여러 대의 폰을 운영하는 방법은 안드로이드 디바이스 랩 만들기를 참고하세요.
ADBKit에서 여러 기기 쓰기
ADBKit에서는 이 문제가 생기지 않아요. 기기마다 전용 탭이 있기 때문이에요. USB나 와이파이로 폰을 최대 여섯 대까지 연결하고 브라우저 탭처럼 전환할 수 있어요. 모든 작업은 지금 보고 있는 기기로 가요. 영상은 보이는 탭만 스트리밍하기 때문에 다른 탭은 가볍게 유지돼요. ADBKit을 열고 + Add device로 다음 기기를 연결하세요.