Android 에뮬레이터 -5554 오프라인


134

에뮬레이터 -5554에 문제가 있으며 오프라인 상태임을 계속 알려줍니다.

내가 adb devices명령 줄에서 할 때

emulator-5554 offline

새로 시작한 후에도 해당 명령을 시도해도 여전히 오프라인 상태입니다.

문제는 abd install <path>명령 프롬프트에서 .apk 파일을 에뮬레이터에 설치하려고 할 때 오프라인 상태임을 알려줍니다. 다른 장치를 만들어서 실행하면 .apk 파일을 설치하려고하면 너무 많은 장치가 연결되어 있습니다. 즉, .apk 파일을 설치할 수 없습니다.

세상에서 어떻게 그 빌어 먹을 에뮬레이터 -5554를 제거 할 수 있습니까? 다시 시작하면 모든 장치가 지워 져야하지만 작동하지 않는 것 같습니다. 컴퓨터가 시작될 때 초기화되는 것과 같습니다. 누구 든지이 문제에 부딪 쳤습니까?

감사


3
문제가 에뮬레이터인지 확인하려면 다음을 시도하십시오. 1. 에뮬레이터를 엽니 다. 2. 다른 에뮬레이터를 엽니 다. 3. adb devices에뮬레이터의 이름을 가져옵니다. 4. excecuting하여 APK를 설치하십시오. adb -s NAME_OF_DEVICE install file.apk5. 어떻게되는지 알려주십시오.
Cristian

집에 돌아 왔을 때 (지금 직장에서) 시도해 볼 것입니다. 설치하려는 장치를 지정할 수 있다는 것을 몰랐습니다. 정말 도움이 될 것입니다. 몇 시간 후에 업데이트하겠습니다. 답장을 보내 주셔서 감사합니다!
hanesjw

의견에 다시 한번 감사드립니다. 나는 당신이 말한 것을 수행하는 에뮬레이터에 APK를 설치할 수있었습니다. 연결이 끊긴 장치는 여전히 장치 목록에 남아 있지만 원하는 것은 해당 .apk를 설치하는 것입니다. 다시 한번 감사드립니다.
hanesjw

이 질문은 stackoverflow.com/questions/6013624 / ... 와 관련이 있다고 생각합니다 .이 스레드를 살펴보십시오.
ivy

이것은 귀하의 질문에 대한 답변은 아니지만 문제를 해결할 수도 있습니다- 에뮬레이터가 adb -d아닌 지정된 USB 장치, USB 장치가 아닌 에뮬레이터 adb -eadb -s NAME마지막으로 여부에 대해 확실하지 않지만 원하는 장치를 구체적으로 지정하는 데 사용할 수 있다고 생각합니다 하나는 항상 당신이 생각하는 방식으로 작동합니다.
Erhannis 2009 년

답변:


62

이 경우 에뮬레이터가 다시 작동하기 시작하기 위해 다음을 모두 수행 할 수 있습니다.

  1. cmd로 이동하여 다음을 입력하십시오. adb kill-server
  2. 작업 관리자로 이동하여 찾기 adb 프로세스를 . 하나를 찾으면 마우스 오른쪽 버튼으로 클릭하고 프로세스 트리 종료를 클릭하십시오.
  3. 이클립스에서 Window> Android Virtual Device Manager 로 이동하여 시작하려는 AVD를 클릭하고 시작 을 클릭 한 다음 "Start From Snapshot "을 선택 취소 한 다음 시작을 클릭하십시오.

그게 다야! 시간이 걸리며 문제를 해결해야합니다.


이것은 또한 나를 위해 일했습니다 (ADB를 죽이면 어떤 상황에서도 문제가 해결되지 않았습니다).
부거

프로세스 트리를 종료하자마자 adb running devices 목록이 지워졌습니다. :) 작동했습니다. <3 감사
DeathRs

9
Android Studio에서 가상 장치 부팅 옵션을 빠른 부팅에서 콜드 부팅으로 변경하면 효과적입니다.
eldes

Visual Studio 2019에서 실행할 때 Android 장치 관리자에서 "스냅 샷에서 시작"설정을 어디에서 찾을 수 있습니까?
jacktric

106

1 . 이 문제를 해결하려면 "데이터 삭제"만하면됩니다.

여기에 이미지 설명을 입력하십시오

2. 작동하지 않으면 에뮬레이트 된 장치로 이동하여 개발자 옵션 활성화> USB 디버깅 활성화


1
에뮬레이터에서 앱을 제거하면 속임수가되었습니다. 그러나 데이터를 지우는 것과 같은 아이디어입니다
james

1
이것은 'Wipe Data'바로 아래의 'Cold Boot now'와 ind 조합에 도움이되었습니다.
S. Gissel

tks 너무 많이, 당신은 내 하루를 저장
Manh Nguyen

24

Android가 에뮬레이터를 감지하는 방법은 포트 5555에서 시작하는 포트를 스캔하는 것입니다.

당신이 볼 수있는 번호 adb devices목록에 (귀하의 경우 5554)는 adb가 열려있는 포트보다 하나 적습니다.

포트 5555에서 수신 대기중인 프로세스가있을 수 있습니다. "오프라인"장치를 제거하려면 해당 응용 프로그램을 찾아서 닫거나 다른 포트를 청취하도록 재구성해야합니다.


문제는 ADB에 관한 것이었다. ADB 포트 번호는 5555에서 시작합니다.
Brigham

2
"아마도 5555 포트에서 수신 대기중인 프로세스가 있습니다." 이 포트에서 다른 서버를 실행하고 완전히 잊어 버렸을 때 실제로 도움이되었습니다!
abhijit

항상 5554-모든 내 PC (집과 직장)에서 시작되었습니다 ... 여러 에뮬레이터를 사용하는 동안 항상 EVEN (5554, 5556, 5558, 5560, ...)입니다.
Phantômaxx

프랭크, 왜 그들이 모두 짝이라고 생각합니까? 안드로이드도 그 사이에 홀수 번호의 포트를 사용하기 때문입니다.
Brigham

이것은 나에게도 도움이되었습니다! 5555에 포트가 열려 에뮬레이터 5554 (?)로 표시됩니다. 작동하지 않는 "서버 재부팅"스타일 답변을 이미 시도한 모든 사람은 계속 진행해야하며 포트는 로컬 호스트 일 수 있습니다. 나는 ADB가 USB 장치를 더 직접 사용하고 로컬 포트를 보지 않고 프로토콜 검사를하지 않고도 에뮬레이터가 있다고 가정합니다.
mvr

22

이 솔루션은 Windows 용입니다.

( Mac / Linux@Chris Knight 솔루션 참조 )

  1. Windows Powershell을 시작하십시오.

    시작-> 'powershell'을 입력하십시오-> ENTER를 누르십시오

  2. 다음 명령을 실행하십시오. adb devices


PS C:\Users\CJBS>adb devices
List of devices attached
emulator-5656   host
emulator-5652   host
12b80FF443      device

이 경우 12b80FF443은 실제 장치이며 에뮬레이터 * 항목은 가비지입니다.

  1. @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
  1. 이 출력의 마지막 필드는 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입니다. 다른 답변에서 언급했듯이 다른 프로그램 일 수도 있습니다.

  1. 이제이 프로세스 ID를 종료하십시오. 실행 kill 5944하여 이전 명령에서 5944를 PID로 바꿉니다.

PS C:\Users\CJBS> kill 5944
  1. 스퓨리어스 에뮬레이터가 사라 졌는지 확인하려면 다음 명령을 다시 실행하십시오. 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는 이전에 종료 된대로 다시 시작하고 더 이상 가짜 에뮬레이터를 감지하지 않습니다.


9

마침내이 문제를 해결 하고 에뮬레이터설정 에서 개발자 옵션 으로 이동 한 다음 약간 아래로 스크롤하여 USB 디버깅을 켭니다. 즉시 내 장치가 온라인으로 인식되어 더 이상 그 문제에 직면하지 않았습니다. 안드로이드 스튜디오와 에뮬레이터를 다시 시작 하여 adb 프로세스를 종료 하려고 시도했지만 작동하지 않았습니다.


1
당신은 영웅입니다!
Felipe Castilhos

안녕하세요 @Shamsul 에뮬레이터의 설정에서 개발자 옵션에 액세스하는 방법을 설명해 주시겠습니까? Android Studio에서 AVD Manager를 참조한다고 가정합니다. 이 스레드에서 설명한 것과 동일한 문제가 있으며 제안을 제외한 모든 제안을 시도했습니다. AVD 관리자에 에뮬레이터에 대한 개발자 옵션이 표시되지 않습니다.
에디

안녕 에디, 개발자 옵션을 켜는 일반적인 절차는 에뮬레이터와 실제 장치에서 동일합니다. 소프트웨어 정보에서 빌드 번호를 찾아서 반복해서 탭하십시오. 7-10 번 탭한 후 개발자 옵션이 활성화 된 것을 볼 수 있습니다.
Shamsul Arefin Sajib

8

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

유령 오프라인 장치는 더 이상 없습니다!


8

AVD Manager에서 드롭 다운의 "Cold Boot Now"옵션을 사용해보십시오. 그것은 나를 위해 일했다!


이것은 아마도 사람들이 지나치게 복잡한 다른 해결책을
찾기

7

제 경우에는 adb가 제대로 작동하지 않는 일부 프로세스를 발견했습니다.
이상한 프로세스를 종료하고 "adb 장치"를 실행하여 테스트 할 수 있습니다.

그것은 나를 위해 일했다 :
프로세스 이름 MONyog.exe를 죽여라.


7

내 명령 프롬프트를 열어서 이것을 해결했습니다.

adb kill-server

adb 장치

시작 후 ADB는 이제 장치 / 에뮬레이터를 감지합니다.


7

나도 같은 문제가 있었다. 여기에 설명 된 모든 솔루션을 시도했지만 도움이되지 않았습니다. 그런 다음 Android 가상 장치 관리자 에서 모든 에뮬레이터를 제거하고 새로운 에뮬레이터를 만들었습니다. Android Virtual Device ManagerCPU / ABI 시스템 이미지 구성에 문제가있었습니다 . 시스템 이미지가있는 Windows10 시스템 에뮬레이터는 시스템 이미지 가있는 에뮬레이터 가 정상적으로 작동하는 경우 항상 오프라인 입니다. 이걸 알아 둬x86x86_64


내 경우에는 x86 시스템 이미지 windows 10, 모든 에뮬레이터를 삭제 한 다음 다시 만들어야합니다.
Dika

1
정말 감사합니다.이 작업을 수행하는 데 많은 시간을 보냈으며 이것이 내 문제였습니다.
Brendan Samek


5

그냥 써

adb -e reboot

그리고 adb에 만족))


이것은 ADB가 에뮬레이터를 재부팅하도록 지시합니다. 오프라인으로 표시되어 있으면 작동하지 않습니다.
shkschneider

rm -Rf ~/.android오프라인 장치를 정리 하기 위해 이전에 실행 한 경우 작동 합니다. 최선의 명령과 내 문제를 해결하는 유일한 사람. 아니 kill-server거나 start-server트릭을했다.
Victor R. Oliveira

4

"사용자 데이터 삭제"옵션이 마침내 내 문제를 해결했습니다. 에뮬레이터를 시작할 때마다 사용자 데이터를 지우십시오. 이것은 항상 나를 위해 작동합니다! 나는 윈도우 8 x64를 사용한다.


감사합니다
Sai Ram

@ SaiRam, 당신은 위의 힌트를 여러 가지 대답으로 반복했기 때문에 위의 모든 것을 시도하지 않았습니다. 또한 Cold Boot Now도움이됩니다.
CoolMind

@SaiRam, 죄송합니다. :) 감사.
CoolMind

4

에뮬레이터에 USB 디버깅 사용

  1. 설정> 전화 정보> 빌드 번호> 개발자가 되려면 7 번 누릅니다.
  2. 설정> 개발자 옵션> USB 디버깅.

그게 즐거워


USB 디버깅을 다시 활성화하면 도움이되었습니다 (끄기 및 켜기)
Maxim Mazurok

4

작업 드롭 다운의 AVD 관리자 목록에서 : Cold Boot Now

위의 모든 고통없이 다시 시작합니다.


2

AVD를 삭제하고 다시 작성하려고 했습니까? 저장된 디렉토리 (사용자의 /.android/avd 하위 디렉토리)로 이동하여 AVD 파일을 수동으로 삭제할 수 있습니다.


안녕, 답변 주셔서 감사합니다. 나는 실제로 그것을 시도했다. 여전히 거기 있습니다. 모든 것을 다시 설치하고 싶습니다.
hanesjw

2

Windows 작업 관리자로 이동하여 "adb.exe"프로세스를 종료하십시오. 동일한 프로세스의 인스턴스가 두 개 이상있을 수 있으므로 모두 종료하십시오.


1
"adb kill-server"는 어떻습니까?
DagW

2

블루 스택이 설치되어 있습니까? 그렇게하면 실행되는 백그라운드 프로세스가 오프라인 장치 "emulator-5554"를 만듭니다.

작업 관리자로 이동하여 "Bluestacks"에 대한 설명으로 모든 프로세스를 종료하십시오.


2

리눅스 또는 맥에서 차단 된 포트는 에뮬레이터 ID + 1이므로 5555이므로 sudo lsof -i :5555 포트를 가져 오는 프로세스의 pid를 보여줍니다 (두 번째 열이어야 함). sudo lsof -i :5555 | awk '{print $2}' | xargs kill

그러면 adb (가짜) 장치가 더 이상 목록에 표시되지 않습니다


2

필자의 경우 에뮬레이터는 Oreo 이하에서 작동하지만 Pie에서는 작동하지 않았으며 시도한 모든 것이 효과가없는 것 같습니다. 마지막으로 작동 한 것은 에뮬레이터를 최신 버전 (버전 28)으로 업데이트하는 것이 었습니다.


나도 ... 꽤 짜증나
Analizer


2

에뮬레이터를 열고

설정-> 에뮬레이트 된 장치 정보-> 반복 빌드 번호 클릭-> 개발자 옵션 열기-> USB 디버그 열기


문제는 에뮬레이터에 검은 화면이 있다는 것입니다. 설정에 액세스 할 수있는 경우에만이 작업을 수행 할 수 있습니다.
Jeanne은

1

내가 사용하는 adb 개정판이 최근이 아닌 경우 에뮬레이션 환경이 "오프라인"으로 나타납니다. 내 경로를 올바르게 업데이트하고 이전 adb 버전을 삭제했으며 "adb kill-server", "adb devices"에서 에뮬레이션 환경이 더 이상 "오프라인"으로 나타나지 않았습니다.

그 시점 이후 즉시 "adb shell"을 사용할 수있었습니다.


1

이 시도 ...

  1. 에뮬레이터가 실행 중이면 닫습니다.

  2. 에뮬레이터를 다시 시작하고 온라인을 기다립니다.

  3. commandprompt에 Command를 입력하고 Enter 키를 누릅니다. adb tcpip 5555

(한 번에 하나의 에뮬레이터 만 실행해야합니다.)

  1. adb -s 에뮬레이터 -5555 에뮤 킬

  2. Enter 키 ...를 누르십시오.

  3. 끝난.

  4. cmd에서 "adb devices"명령으로 장치를 확인하십시오.


1

에뮬레이터가 이미 열려 있거나 실행 중이면 오프라인 상태임을 알 수 있습니다. 커맨드 라인 (Ubuntu)을 다시 확인하고 다음을 실행할 수 있습니다.

 adb devices

에뮬레이터가 오프라인 상태 여야하고 포트가 사용 중으로 표시되므로 실행중인 에뮬레이터 인스턴스를 닫아야합니다. 그런 다음 응용 프로그램을 실행할 수 있습니다. 이것이 누군가를 돕기를 바랍니다.


1

나는 모든 것을 시도했지만이 경우에만 작동합니다 : SDK 관리자를 사용하고 시스템 이미지를 다시 설치하십시오. Android Studio에서 구성, SDK 관리자, 독립형 SDK 관리자 시작을 차례로 클릭하고 "Google API Intel x86 * 시스템 이미지", "Intel x86 Atom * 시스템 이미지"를 모두 확인한 후 설치하십시오. 그런 다음 Android 스튜디오를 다시 시작하십시오.

AVD Manager를 사용하여 가상 장치를 재구성하고 정리해야 할 수도 있습니다. x86 버전을 선택해야합니다.


나를 위해, 그것은 작동하는 x86_64 버전이었다, 다른 사람은 작동하지 않았다
hiddeneyes02

1

사용 가능한 ADB 통합이 표시되어 있는지 확인하십시오. 도구> Android> ADB 통합 사용으로 이동하십시오.

이 옵션을 선택하지 않으면이 옵션을 확인하고 가상 장치를 닫았다가 다시여십시오. 이것은 나를 위해 일했다.. 행운을 빕니다!


1

가상 장치와 동일한 문제가있었습니다. Play 스토어가 통합 된 가상 장치의 Oreo 이미지로 인해 문제가 발생합니다. 이 문제를 해결하기 위해 Play 스토어가 통합되지 않은 새 장치를 설치했는데 모든 것이 정상이었습니다.

도움이 되길 바랍니다.


정말 이상한 상황 이었지만 나에게도 고쳐졌습니다.
reidisaki


0

내 경우에는 android-x86이있는 VM을 다시 시작했기 때문입니다. Android-x86으로 VM을 재부팅하고 adb 서버를 다시 시작하면 문제가 해결되었습니다.


0

컴퓨터에 다른 가상 장치가 설치되어 있기 때문입니다. 비슷한 문제에 직면 했을 때 BlueStacks 일 수 있습니다 . Bluestacks를 제거한 다음 제대로 adb devices 실행되고 있는지 확인했습니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.