Ошибка Eclipse "Сервер ADB не ACK, не удалось запустить демон"

После обновления SDK Eclipse показывает эту ошибку:

Сервер ADB не ACK, не удалось запустить демон.

Когда я запускаю приложение для Android, оно дает мне следующее:

Убедитесь, что adb правильно расположен в папке "D:\android-sdk-windows\platform-tools\adb.exe" и может быть выполнен.

Как я могу исправить эту проблему?

Ответ 1

Я решил свой первый вопрос: Откройте Eclipse, откройте диспетчер SDK и выберите устройство для открытия.

Или вы можете открыть каталог SDK. Откройте диспетчер SDK и выберите устройство, чтобы открыть

2: Закройте Eclipse и откройте его.

Ответ 2

Спасибо, @jowett, я решил эту же проблему, выполнив следующие шаги

Шаг 1: CTRL + Shift + Esc, чтобы открыть диспетчер задач, у которого есть процесс adb.exe и завершить (убить) этот процесс

Шаг 2: Теперь закройте затмение, которое в настоящее время выполняется на моем компьютере.

Шаг 3: Снова перезапустите eclipse, затем решите эту проблему.


Для тех, кто использует OS X

killall adb

Для тех, кто использует Windows

adb kill-server

должен сделать трюк.

Ответ 3

Я встретил ту же проблему, хотя я и не сделал этого. Как бы то ни было, я найду некоторые подсказки и исправил наконец.

Когда я открываю SDK и AVD-менеджер, но найти версию AVD (2.3.3) не то же самое с версией Android версии (2.3). Поэтому я создаю новый AVD с 2.3.

Я исправил его следующими шагами: 1. Откройте диспетчер задач Windows и уничтожьте процесс adb.exe. 2. Закройте затмение и перезапустите его. Затем он работает.

Надеюсь, что это поможет.

Ответ 4

ADB часто терпит неудачу, если в adb_usb.ini есть новая строка. Удалите его, перезапустите его, и это часто решает проблему (по крайней мере, для меня в любом случае).

Ответ 5

Эти симптомы возникают, если вы используете эмулятор Genymotion (в Windows или Linux) одновременно с Android Studio:

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

Genymotion включает в себя свою собственную копию adb, которая мешает тому, что включено в Android SDK.

Самый простой способ исправить - это обновить настройки Genymotion, поэтому он использует тот же ADB, что и ваш Android SDK:

genymotion ADB settings

Просто установите флажок "Использовать специальные инструменты Android SDK" и введите нужное место.

Ответ 6

Командная строка (cmd.exe):

netstat -aon | findstr 5037

Найти идентификатор процесса 0.0.0.0:

Enter image description here

Убедитесь, что adb.exe:

tasklist | findstr 1980

Enter image description here

Убейте этот процесс:

taskkill /f /t /im adb.exe

Enter image description here

Возвратите ADB в нормальное состояние:

Enter image description here

Кредит: сообщение в блоге * Android-сервер ADB не запустил запуск ACK *

Ответ 7

Если вы используете приложение синхронизации для устройства, это также может быть связано с тем, что есть другие приложения, использующие один и тот же порт 5037. Выключите все службы, запущенные на порту 5037, и попробуйте запустить ADB.

Чтобы проверить, использует ли какое-либо приложение порт 5037, используйте это:

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

Получить PID приложения.

Используйте Process Explorer, чтобы найти Process и выйти из него.

Теперь используйте adb start-server или adb get-state, чтобы запустить/проверить состояние сервера ADB.

Я столкнулся с проблемой, когда использовал приложение Snappea/Wandoujia Sync.

Ответ 8

Я вызвал эту проблему, введя лишнюю пустую строку в конце ~/.android/adb_usb.ini

(Удаление дополнительной пустой строки устраняет проблему)

Ответ 9

Мы можем решить эту проблему так легко.

  • Откройте командную строку и сделайте cd <platform-tools directory>
  • Команда запуска adb kill-server
  • Откройте диспетчер задач Windows и проверьте, все ли работает adb. Если это так, просто убить adb.exe
  • Выполнить команду adb start-server в командной строке

Enter image description here

Ответ 10

Убедитесь, что отладка USB на вашем телефоне включена. Сервер-убийца ADB и старт-сервер ADB не являются проблемой.

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 *

Ответ 11

Я уже проголосовал за другой ответ на этот вопрос, но на всякий случай кто-то задавался вопросом, вам не нужно перезапускать Eclipse, чтобы снова запустить ADB. Просто откройте оболочку и запустите команду:

adb start-server

Если вы не установили путь к ADB в своих системных свойствах, тогда вы должны сначала перейти в каталог, в котором существует ADB (в Android\android-sdk\platform-tools.... Я запускаю Windows, Я не знаю, как люди Mac делают что-то).

Ответ 12

Запустите на sysinternals.com и заберите TCPVIEW и PROCESS EXPLORER, если вы еще не установили их.

По какой-то причине демон ADB заканчивается до завершения завершения обмена сокетами. Если вы запустите (из командной строки) "NETSTAT -o", вы увидите сокет (обычно 5037) в состоянии CLOSE_WAIT и номер процесса владения. Проводник процесса не покажет, что идентификатор процесса (завершен демон), и процесс, называемый adb.exe(который открыл сокет), исчезнет. (Если adb.exe, если найдено, попробуйте убить задачу и посмотреть, очищаются ли вещи.)

Используя TCPVIEW, найдите подвесной сокет. Столбец имени процесса покажет, что связанный процесс не найден. Щелкните правой кнопкой мыши и выберите "Закрыть соединение". Сокет теперь закрыт, и демон adb должен быть в состоянии начать.

Ответ 13

У меня была аналогичная проблема. Убив существующий экземпляр процесса ADB из диспетчера задач, для меня работала не.

Всего несколько дней назад я попытался установить MIPS SDK и ADT-17 ранее, и Eclipse дал мне ошибку, и я не исправил эту проблему.

Итак, теперь, когда я получил этот сервер ADB, не ACK, не удалось запустить daemon..., я выполнил 'Check for Updates' в пункте меню Help Eclipse. Не было доступных обновлений, но по крайней мере ошибка "ADB server not ACK" исчезла.

Надеюсь, это может помочь в нескольких случаях.

Ответ 14

Введите ./adb nodaemon server в терминал.

Если он возвращает Invalid content in adb_usb.ini, возникает проблема с вашим файлом adb_usb.ini в папке .android.

Откройте adb_usb.ini и удалите его содержимое. Затем перезапустите сервер... он работал у меня.

Ответ 15

Проверьте путь к каталогу Android. Он не должен содержать пробелы и т.д.

Также проверьте правильность настройки плагина в Eclipse → Preferences.

В моем случае я все проверил несколько раз, но он все еще не работал. Я собирался переустановить все, но я наткнулся на ответ на этом сайте (какой-то другой пост).

Проверьте свой антивирус. Это может быть блокировка портов adb.exe или программ эмулятора и т.д. Это решило проблему в моем случае.

Ответ 16

В дополнение к решению @Bastet:

На самом деле нам нужно убить процесс, используя адрес 0.0.0.0:0. Вот почему большинство людей, убивающих adb.exe из диспетчера задач, работало (в моем случае я не смог его увидеть даже в диспетчере задач).

Следуя шагам @Bastet, я узнал, что какой-то другой процесс использовал этот адрес. Я пошел, чтобы убить его, и он дал мне ACCESS DENIED как Error.

Итак, используя tasklist | findstr ****, я узнал имя процесса и убил его из диспетчера задач.

Затем он начал работать.

В моем случае bas_daemon и bas_helper использовали этот адрес, оба из которых соответствуют MOBOROBO.

Ответ 17

У меня была та же проблема. Но на моем ноутбуке не было процесса adb. Я просто выхожу из системы и вхожу в мою учетную запись, и она разрешилась...

После этого ADB может начинаться с окон CMD.

Ответ 18

Самый лучший и самый эффективный способ без перезапуска любого устройства или программного обеспечения:

Выполните следующее:

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

И еще одна вещь. АБР - это самостоятельная вещь. Вы ничего не можете сделать до тех пор, пока он не захочет работать. Есть еще один способ, который я узнал: Оставьте устройство подключенным на 5-6 минут и подождите. Вскоре устройство подключится и попытается запустить.

Ответ 19

Это не началось для меня, пока я не укоренил свой Samsung Galaxy S III телефон (после руководства форума xda-разработчиков).

Это происходит довольно случайным образом, но это определенно происходит при запуске Eclipse.

Убив процесс adb.exe и перезапустив его, он решает проблему.

Ответ 20

Посмотрите на антивирус или брандмауэр... Кто-нибудь из этого блокирует вас от доступа... В антивирусе k7 я отключил системный монитор, и он работает для меня...

Ответ 21

Убийство Eclipse, а затем перезагрузка не помогли мне. Я добавил инструмент Android к переменным PATH, запустил диспетчер задач и убил adb.exe.

Я перезапустил Eclipse, а затем он сработал.

Ответ 22

Мне пришлось разрешить adb.exe получать доступ к моей сети в моем брандмауэре.