[android] Android 에뮬레이터 -5554 오프라인
에뮬레이터 -5554에 문제가 있으며 오프라인 상태임을 계속 알려줍니다.
내가 adb devices
명령 줄에서 할 때
emulator-5554 offline
새로 시작한 후에도 해당 명령을 시도해도 여전히 오프라인 상태입니다.
문제는 abd install <path>
명령 프롬프트에서 .apk 파일을 에뮬레이터에 설치하려고 할 때 오프라인 상태임을 알려줍니다. 다른 장치를 만들어서 실행하면 .apk 파일을 설치하려고하면 너무 많은 장치가 연결되어 있습니다. 즉, .apk 파일을 설치할 수 없습니다.
세상에서 어떻게 그 빌어 먹을 에뮬레이터 -5554를 제거 할 수 있습니까? 다시 시작하면 모든 장치가 지워 져야하지만 작동하지 않는 것 같습니다. 컴퓨터가 시작될 때 초기화되는 것과 같습니다. 누구 든지이 문제에 부딪 쳤습니까?
감사
답변
이 경우 에뮬레이터가 다시 작동하기 시작하기 위해 다음을 모두 수행 할 수 있습니다.
- cmd로 이동하여 다음을 입력하십시오.
adb kill-server
- 작업 관리자로 이동하여 찾기
adb
프로세스를 . 하나를 찾으면 마우스 오른쪽 버튼으로 클릭하고 프로세스 트리 종료를 클릭하십시오. - 이클립스에서 Window> Android Virtual Device Manager 로 이동하여 시작하려는 AVD를 클릭하고 시작 을 클릭 한 다음 “Start From Snapshot “을 선택 취소 한 다음 시작을 클릭하십시오.
그게 다야! 시간이 걸리며 문제를 해결해야합니다.
답변
답변
Android가 에뮬레이터를 감지하는 방법은 포트 5555에서 시작하는 포트를 스캔하는 것입니다.
당신이 볼 수있는 번호 adb devices
목록에 (귀하의 경우 5554)는 adb가 열려있는 포트보다 하나 적습니다.
포트 5555에서 수신 대기중인 프로세스가있을 수 있습니다. “오프라인”장치를 제거하려면 해당 응용 프로그램을 찾아서 닫거나 다른 포트를 청취하도록 재구성해야합니다.
답변
이 솔루션은 Windows 용입니다.
( Mac / Linux 용 @Chris Knight 솔루션 참조 )
-
Windows Powershell을 시작하십시오.
시작-> ‘powershell’을 입력하십시오-> ENTER를 누르십시오
-
다음 명령을 실행하십시오. adb devices
PS C:\Users\CJBS>adb devices
List of devices attached
emulator-5656 host
emulator-5652 host
12b80FF443 device
이 경우 12b80FF443은 실제 장치이며 에뮬레이터 * 항목은 가비지입니다.
-
@Brigham 당 , “안드로이드 에뮬레이터를 감지하는 방식은 포트 5555에서 시작 포트를 스캔하는 것입니다.” 포트 번호는 에뮬레이터 이름 뒤에 표시됩니다 (이 경우 5656 및 5652). 확인할 포트 번호는 에뮬레이터 포트 번호에 1을 더한 값입니다. 따라서이 경우 :-
5656 + 1 = 5657
5652 + 1 = 5653
어떤 포트가이 프로그램을 사용하고 있는지 확인해 봅시다. 이 경우, 모두 검사 할 포트는 “565”로 시작합니다. 565부터 사용중인 포트를 검색하겠습니다.
netstat -a -n -o | Select-String ":565"
PS C:\Users\CJBS> netstat -a -n -o | Select-String ":565"
TCP 127.0.0.1:5653 127.0.0.1:5653 ESTABLISHED 5944
TCP 127.0.0.1:5657 127.0.0.1:5657 ESTABLISHED 5944
- 이 출력의 마지막 필드는 PID (프로세스 ID)입니다.이 경우 두 포트 모두에 대해 PID 5944입니다. 이 프로세스 ID가 무엇인지 봅시다. 실행 :
tasklist /v | Select-String 5944
. 5944를 이전 명령의 출력으로 바꾸십시오.
PS C:\Users\CJBS> tasklist /v | Select-String 5944
adb.exe 5944 Console 1 6,800 K Running MyPCName\CJBS 0:06:03 ADB Power Notification Window
놀랐는 걸. ADB입니다. 다른 답변에서 언급했듯이 다른 프로그램 일 수도 있습니다.
- 이제이 프로세스 ID를 종료하십시오. 실행
kill 5944
하여 이전 명령에서 5944를 PID로 바꿉니다.
PS C:\Users\CJBS> kill 5944
- 스퓨리어스 에뮬레이터가 사라 졌는지 확인하려면 다음 명령을 다시 실행하십시오. adb devices
PS C:\Users\CJBS>adb devices
List of devices attached
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
12b80FF443 device
ADB는 이전에 종료 된대로 다시 시작하고 더 이상 가짜 에뮬레이터를 감지하지 않습니다.
답변
마침내이 문제를 해결 하고 에뮬레이터 의 설정 에서 개발자 옵션 으로 이동 한 다음 약간 아래로 스크롤하여 USB 디버깅을 켭니다. 즉시 내 장치가 온라인으로 인식되어 더 이상 그 문제에 직면하지 않았습니다. 안드로이드 스튜디오와 에뮬레이터를 다시 시작 하여 adb 프로세스를 종료 하려고 시도했지만 작동하지 않았습니다.
답변
Linux 또는 Mac에 있고 오프라인 장치가 ’emulator-5554’라고 가정하면 다음을 실행할 수 있습니다.
netstat -tulpn|grep 5554
다음과 같은 결과가 나옵니다.
tcp 0 0 127.0.0.1:5554 0.0.0.0:* LISTEN 4848/emulator64-x86
tcp 0 0 127.0.0.1:5555 0.0.0.0:* LISTEN 4848/emulator64-x86
이는 프로세스 ID 4848 (사용자가 다를 수 있음)이 여전히 포트 5554에서 수신 대기 중임을 나타냅니다. 이제 다음을 사용하여 해당 프로세스를 종료 할 수 있습니다.
sudo kill -9 4848
유령 오프라인 장치는 더 이상 없습니다!
답변
AVD Manager에서 드롭 다운의 “Cold Boot Now”옵션을 사용해보십시오. 그것은 나를 위해 일했다!