Eclipse 오류“ADB 서버가 ACK되지 않았으며 데몬을 시작하지 못했습니다”


158

SDK를 업데이트 한 후 Eclipse는 다음 오류를 표시합니다.

ADB 서버가 ACK되지 않았으며 데몬을 시작하지 못했습니다.

Android 응용 프로그램을 실행하면 다음이 제공됩니다.

adb가 'D : \ android-sdk-windows \ platform-tools \ adb.exe'에 올바르게 위치하고 실행 가능한지 확인하십시오.

이 문제를 어떻게 해결할 수 있습니까?


방금 최근 genymotion을 설치 한 후 솔루션이 시작된 후 터미널에서 수동으로 adb 명령을 제거하고 sdk / platform-tools를 가리키는 ubantu의 환경 변수에서 adb 경로를 설정 한 다음 작동했습니다.
vikas kumar

답변:


263

감사합니다, @jowett , 나는이 단계를 수행하면서 같은 문제를 해결했습니다.

1 단계 : CTRL + Shift+ Escadb.exe 프로세스가있는 작업 관리자를 열고 해당 프로세스를 종료 (kill)

2 단계 : 이제 내 컴퓨터에서 현재 실행중인 일식을 닫습니다.

3 단계 : 다시, 이클립스를 다시 시작한 다음 그 문제를 해결했습니다.


OS X를 사용하는 사람들

killall adb

Windows를 사용하는 사람

adb kill-server

트릭을해야합니다.


40

나는 이것을 일으키는 원인이 아니지만 동일한 문제를 만났다. 어쨌든, 나는 단서를 발견하고 마침내 고쳐졌습니다.

SDK와 AVD 관리자를 열었을 때 AVD 버전 (2.3.3)이 android lib 버전 (2.3)과 동일하지 않은 것을 발견했습니다. 2.3으로 새로운 AVD를 만듭니다.

다음 단계로 수정했습니다. 1. Windows 작업 관리자를 열고 adb.exe 프로세스를 종료하십시오. 2. 식을 닫고 다시 시작하십시오. 그런 다음 작동합니다.

도움이 되길 바랍니다.


35

Android Studio와 동시에 Genymotion 에뮬레이터 (Windows 또는 Linux)를 사용하는 경우 이러한 증상이 발생합니다.

adb server is out of date.  killing...
ADB server didn't ACK
* failed to start daemon *

Genymotion에는 자체 SDK가 포함되어 있으며 adb이는 Android SDK에 번들로 제공된 것을 방해합니다.

해결하는 가장 쉬운 방법은 Genymotion 설정을 업데이트하여 Android SDK와 동일한 ADB를 사용하는 것 같습니다.

genymotion ADB 설정

"맞춤 Android SDK 도구 사용"옵션을 확인하고 원하는 위치를 입력하십시오.


Android Studio를 2.1.2로 업데이트 한 후에 작동합니다.
노엘 바우 티 스타

35

에 개행 문자가 있으면 ADB가 종종 실패합니다 adb_usb.ini. 그것을 제거하고 다시 시작하면 문제가 해결됩니다 (적어도 어쨌든).


Kindle Fire로 디버깅을 시도하는 동안 ~ / .android / adb_usb.ini 파일에 항목을 만들려고했지만 무의식적으로 빈 줄이 몇 개 추가되었습니다. 이제 제거했습니다. 고마워요
Thiru

35

명령 프롬프트 (cmd.exe) :

netstat -aon | findstr 5037

0.0.0.0의 프로세스 ID를 찾으십시오.

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

adb.exe인지 확인하십시오.

tasklist | findstr 1980

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

이 프로세스를 종료하십시오.

taskkill /f /t /im adb.exe

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

ADB를 다시 정상으로 가져 오십시오.

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

크레딧 : 블로그 게시물 * Android ADB 서버가 ACK에서 데몬을 시작하지 못했습니다 *


내 쪽은 tfadb.exe입니다. 죽여서 작동합니다. 감사합니다.
BobGao

제 경우에는 svchost.exe가 포트를 사용하고있었습니다. 그것을 죽인 후에는 성공적으로 시작되었습니다.
ranka47

13

장치에 동기화 응용 프로그램을 사용하는 경우 동일한 5037포트를 사용하는 다른 응용 프로그램이있을 수도 있습니다 . 포트에서 실행중인 모든 서비스를 종료하고 5037ADB를 시작하십시오.

응용 프로그램이 포트 5037을 사용하고 있는지 확인하려면 다음을 사용하십시오.

netstat -a -n -o |findstr "5037"

응용 프로그램의 PID를 가져옵니다.

프로세스 탐색기 를 사용 하여 프로세스를 찾아 종료하십시오.

이제 adb start-server또는 adb get-state을 사용 하여 ADB 서버 상태를 시작 / 확인하십시오.

Snappea / Wandoujia Sync 응용 프로그램을 사용할 때 문제가 발생했습니다.


감사! svchost.exe가 갑자기 어떤 이유로 해당 포트를 사용하고있었습니다.
Jacob L

나는 이것이 언제 고쳐질 지 모르지만 여전히 고쳐지지 않는 것은 부끄러운 일입니다.
Dejan

8

~ / .android / adb_usb.ini 끝에 빈 줄을 추가 하여이 문제를 일으켰습니다.

여분의 빈 줄을 제거하면 문제가 해결되었습니다.


마지막 줄뿐만 아니라 모든 빈 줄을 제거하여 비슷한 문제를 해결하십시오.
Pavel

2
Kindle Fire 라인에 들어갈 때 끝에 빈 줄 하나를 추가했기 때문에 동일한 문제가 발생했습니다. 빈 줄을 제거하고 문제없이 adb를 다시 시작했습니다. 감사.
Jerome Mouneyrac

7

이 문제를 쉽게 해결할 수 있습니다.

  1. 명령 프롬프트를 열고 cd <platform-tools directory>
  2. 명령을 실행 adb kill-server
  3. Windows 작업 관리자를 열고 확인 adb 여전히 실행 중인지 . 그렇다면 그냥 죽여라adb.exe
  4. adb start-server명령 프롬프트에서 명령 을 실행하십시오.

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


Eclipse를 다시 시작할 필요가 없습니다! :)
TWiStErRob

5

첫 번째 질문을 해결했습니다. Eclipse 열기, SDK 관리자 열기 및 열 장치 선택.

또는 SDK 디렉토리를 열 수 있습니다. SDK 관리자를 연 다음 열 장치를 선택하십시오

2 : Eclipse를 닫은 다음여십시오.


5

전화기의 USB 디버깅이 켜져 있는지 확인하십시오. ADB kill-server 및 ADB start-server는 문제가 아닙니다.

C:\Documents and Settings\Administrator> adb nodaemon server

 - cannot bind 'tcp:5037'

C:\Documents and Settings\Administrator> netstat -aon | findstr "5037"

 - TCP 127.0.0.1:1130 127.0.0.1:5037 TIME_WAIT 0
 - TCP 127.0.0.1:1269 127.0.0.1:5037 TIME_WAIT 0
 - TCP 127.0.0.1:5037 0.0.0.0:0 LISTENING 3088
 - TCP 127.0.0.1:5037 127.0.0.1:1128 TIME_WAIT 0
 - TCP 127.0.0.1:5037 127.0.0.1:1129 TIME_WAIT 0
 - TCP 127.0.0.1:5037 127.0.0.1:1270 TIME_WAIT 0

C:\Documents and Settings\Administrator>tasklist -fi "pid eq 3088"

 - Image name PID session name session # memory usage

========================= ====== ======================== ===== ============

 - adb.exe 3088 Console 0 3,816 K

C:\Documents and Settings\Administrator>taskkill /f /pid 3088

 - Success: terminate the PID for the process of 3,088.

C:\Documents and Settings\Administrator>adb start-server

 - daemon not running. starting it now on port 5037 *
 - daemon started successfully *

4

이미이 질문에 대한 또 다른 대답을 보냈지 만 누군가 궁금해하는 경우를 대비하여 ADB를 다시 실행하기 위해 Eclipse를 다시 시작할 필요가 없습니다. 쉘을 열고 다음 명령을 실행하십시오.

adb start-server

시스템 속성에서 ADB 경로를 설정하지 않은 경우 먼저 ADB가있는 디렉토리로 이동해야합니다 (Android \ android-sdk \ platform-tools .... Windows를 실행 중입니다. 맥 사람들이 어떻게하는지 알지 못한다).


2
그것은 중요하지 않습니다. 명령 줄에서도 오류가 발생합니다.
IgorGanapolsky

Mac에서 방법을 찾지 못했습니다. 강제 종료 ADB가 도움이되지 않아 전체 컴퓨터를 다시 시작해야했습니다. 그런 다음 다시 작동했습니다.
Marcel Bro

2

sysinternals.com으로 이동하여 TCPVIEW 및 PROCESS EXPLORER을 아직 설치하지 않은 경우 선택하십시오.

어떤 이유로, ADB 데몬은 소켓 닫기 교환이 완료되기 전에 종료됩니다. 명령 프롬프트에서 "NETSTAT -o"를 실행하면 CLOSE_WAIT 상태의 소켓 (일반적으로 5037)과 소유 프로세스 번호가 표시됩니다. 프로세스 탐색기는 해당 프로세스 ID (데몬이 종료 됨)를 표시하지 않으며 adb.exe (소켓을 연)라는 프로세스가 사라집니다. adb.exe를 찾으면 작업을 종료하고 문제가 해결되었는지 확인하십시오.

TCPVIEW를 사용하여 매달린 소켓을 찾으십시오. 프로세스 이름 열에 연관된 프로세스를 찾을 수 없음이 표시됩니다. 마우스 오른쪽 버튼을 클릭하고 "연결 닫기"를 선택하십시오. 이제 소켓이 닫히고 adb 데몬을 시작할 수 있습니다.


도움이됩니다. 또한 프로세스 탐색기에서 [Error opening process]를 표시하는 경로 열과 함께 adb.exe가 실행되면 범인 일 수 있습니다.
Samik R

2

나는 비슷한 문제가 있었다. 작업 관리자에서 기존 ADB 프로세스 인스턴스를 종료 해도 작동 하지 않습니다 .

며칠 전, MIPS SDK와 ADT-17을 더 일찍 설치하려고했지만 Eclipse에서 오류가 발생하여 문제를 해결하지 못했습니다.

이제이 ADB 서버가 ACK를 얻지 못하고 데몬을 시작하지 못했습니다 ... 문제가 발생하면 Eclipse 도움말 메뉴 항목 에서 '업데이트 확인'을 실행했습니다 . 사용 가능한 업데이트가 없지만 최소한 'ADB 서버가 ACK되지 않았습니다'오류가 사라졌습니다.

나는 이것이 몇 가지 경우에 도움이되기를 바랍니다.


1

./adb nodaemon server터미널을 입력하십시오 .

이 반환 Invalid content in adb_usb.ini되면 폴더 의 adb_usb.ini파일에 문제가있는 것입니다 .android.

adb_usb.ini내용을 열고 지 웁니다. 그런 다음 서버를 다시 시작하십시오 ...


1

Android 디렉토리의 경로를 확인하십시오. 공백 등을 포함해서는 안됩니다.

또한 Eclipse → 환경 설정 에서 플러그인이 올바르게 구성되어 있는지 확인하십시오 .

내 경우에는 모든 것을 여러 번 확인했지만 여전히 작동하지 않았습니다. 모든 것을 다시 설치하려고했지만이 사이트 (다른 ​​게시물)에서 답변을 받았습니다.

바이러스 백신을 확인하십시오. 포트 adb.exe또는 에뮬레이터 프로그램 등을 차단하고있을 수 있습니다 .이 경우 문제가 해결되었습니다.


1

@Bastet 의 솔루션 외에도 :

실제로 address를 사용하여 프로세스를 종료해야합니다 0.0.0.0:0. 그렇기 때문에 adb.exe작업 관리자에서 죽이는 대부분의 사람들 이 일하고 있는 이유입니다 (제 경우에는 작업 관리자에서도 볼 수 없었습니다).

@Bastet 단계에 따라 다른 프로세스 가이 주소를 사용하고 있음을 알았습니다. 나는 그것을 죽일 앞서 갔다, 그리고 준 ACCESS DENIED으로Error .

따라서 tasklist | findstr ****프로세스 이름을 찾아서 작업 관리자에서 종료했습니다.

그 후 작동하기 시작했습니다.

내 경우에는 이 주소를 사용 bas_daemon하고 bas_helper있었으며 둘 다 MOBOROBO에 해당합니다 .


0

나는 같은 문제가 있었다. 그러나 과정은 없었다adb 내 랩톱 . 로그 아웃하고 계정에 로그인하면 해결됩니다 ...

그 후 ADB는 CMD 창에서 시작할 수 있습니다.


0

장치 나 소프트웨어를 다시 시작하지 않고 가장 좋고 효율적인 방법은 다음과 같습니다.

다음을 실행하십시오.

adt-bundle-windows-x86_64\sdk\platform-tools\adb.exe

그리고 한가지 더. ADB는 자립적 인 것입니다. 스스로 작동하기를 원하지 않는 한 아무것도 할 수 없습니다. 내가 찾은 또 다른 방법이 있습니다 : 장치를 5-6 분 동안 연결 한 상태로 기다립니다. 곧 장치가 연결되고 실행을 시도합니다.


0

삼성 갤럭시 S III를 근절하기 전까지는 이런 일이 일어나지 않았습니다.xda-developer 포럼 가이드에 따라 전화를 .

무작위로 발생하지만 Eclipse를 실행하는 동안 확실히 발생합니다.

adb.exe 프로세스를 종료하고 다시 시작하면 문제가 해결됩니다.


0

바이러스 백신 또는 방화벽을 살펴보십시오 ... 액세스가 차단되는 것이 있습니까 ... k7 바이러스 백신에서 시스템 모니터를 끄면 작동합니다 ...



-1

Eclipse를 죽인 다음 다시 부팅해도 도움이되지 않았습니다. Android 도구를 PATH 변수에 추가하고 작업 관리자를 시작한 후 adb.exe를 종료했습니다.

Eclipse를 다시 시작한 다음 작동했습니다.

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