Помилка затемнення "Сервер ADB не ACK, не вдалося запустити демон"


158

Після оновлення SDK Eclipse показує цю помилку:

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

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

Переконайтесь, що adb правильно розміщено у "D: \ android-sdk-windows \ platform-tools \ adb.exe" і може бути виконаний.

Як я можу виправити цю проблему?


нещодавно встановив genymotion, і після цього він почав відбуватися, рішенням було видалити команду adb з терміналу вручну та встановити шлях adb у змінні середовища в ubantu, що вказує на sdk / platform-tools, а потім воно спрацювало.
vikas kumar

Відповіді:


263

Дякую, @jowett , я вирішив свою ж проблему, виконуючи ці кроки

Крок 1: CTRL + Shift+, Escщоб відкрити диспетчер завдань, у якому є adb.exe, і закінчити (вбити) цей процес

Крок 2: Тепер закрийте затемнення, яке зараз працює на моєму комп’ютері.

Крок 3: Знову ж перезапустіть затемнення, після чого вирішили цю проблему.


Для тих, хто використовує OS X

killall adb

Для тих, хто використовує Windows

adb kill-server

повинен зробити трюк.


40

Я зіткнувся з тією ж проблемою, хоча я не зробив це, що спричинило це. Що б там не було, я знайшов деякі підказки та виправлений нарешті.

Коли я відкриваю диспетчер SDK та AVD, але знаходжу версію AVD (2.3.3), не збігається з версією Android lib (2.3). Тому я створюю новий AVD з 2.3.

Я виправив це за допомогою наступних кроків: 1. Відкрийте диспетчер завдань Windows і вбийте процес adb.exe. 2. Закрийте затемнення і перезапустіть його. Тоді це працює.

Сподіваюся, це допомагає.


35

Ці симптоми виникають, якщо ви використовуєте емулятор 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, що і ваш SDK для Android:

параметри ADB генімоції

Просто встановіть прапорець "Використовувати спеціальні засоби Android SDK" та введіть потрібне місце.


Для мене працює після оновлення Android Studio до 2.1.2.
Ноель Баутіста

35

ADB часто виходить з ладу, якщо є новий рядок в adb_usb.ini. Видаліть його, перезавантажте, і це часто вирішить проблему (принаймні, для мене все одно).


намагаючись налагодити Kindle Fire, хотів зробити запис у цьому файлі ~ / .android / adb_usb.ini, але несвідомо додав кілька зайвих рядків. Тепер її видалили. зафіксували, дякую.
Тіру

35

Командний рядок (cmd.exe):

netstat -aon | findstr 5037

Знайдіть ідентифікатор процесу 0.0.0.0:

Введіть тут опис зображення

Переконайтесь, що це adb.exe:

tasklist | findstr 1980

Введіть тут опис зображення

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

taskkill /f /t /im adb.exe

Введіть тут опис зображення

Повернення нормальної АБД:

Введіть тут опис зображення

Кредит: повідомлення в блозі * Сервер Android ADB не став ACK не вдалося запустити демон *


Моя сторона - tfadb.exe, після вбиття він працює, дякую.
BobGao

У моєму випадку, svchost.exe використовував порт. Після вбивства він почав успішно.
ranka47

13

Якщо ви використовуєте програму для синхронізації для пристрою, це може бути також тому, що є інші додатки, що використовують той же 5037порт. Вимкніть всі служби, що працюють на порту, 5037і спробуйте запустити ADB.

Щоб перевірити, чи якась програма використовує порт 5037, скористайтеся цим:

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

Отримайте PID програми.

Використовуйте Провідник процесів, щоб знайти Процес та вийти з нього.

Тепер використовуйте adb start-serverабо adb get-stateдля запуску / перевірки стану сервера ADB.

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


Дякую! svchost.exe чомусь раптово використовував цей порт.
Яків Л

Я не знаю, коли це буде виправлено, але соромно не виправлятися досі.
Деян

8

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

(Видалення зайвого порожнього рядка вирішило проблему)


Виправте подібну проблему, видаливши всі порожні рядки, а не лише останні.
Павло

2
У мене була така ж проблема, тому що я додав один пустий рядок наприкінці, коли входив до ліній Kindle Fire. Я видалив порожній рядок і adb перезапустив без проблем. Дякую.
Джером Мунейрак

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

Я вже голосував ще на одну відповідь на це питання, але на всякий випадок, коли хтось задумався, вам не потрібно перезапускати Eclipse, щоб знову запустити ADB. Просто відкрийте оболонку і запустіть команду:

adb start-server

Якщо ви не встановили шлях до ADB у ваших властивостях системи, то спочатку потрібно перейти до каталогу, в якому існує ADB (в Android \ android-sdk \ platform-tools .... Я запускаю Windows, я не ' я не знаю, як люди, що роблять mac).


2
Це не має значення. Я отримую помилку і з командного рядка.
ІгорГанапольський

Я не знайшов способу зробити це на Mac. Примусове виходу з ADB не допомогло, тому мені довелося перезапустити весь комп'ютер. Потім знову спрацювало.
Марсель Бро

2

Перейдіть на sysinternals.com і підберіть TCPVIEW та PROCESS EXPLORER, якщо вони ще не встановлені.

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

За допомогою TCPVIEW знайдіть підвісну розетку. У стовпці імені процесу буде показано, що пов'язаний процес неможливо знайти. Клацніть правою кнопкою миші та виберіть "Закрити з'єднання". Розетка закрита, і демон adb повинен мати можливість запускатися.


Корисні. Також у Провіднику процесів, якщо ви бачите adb.exe, що працює зі стовпцем Шлях, що показує [Процес відкриття помилки], це може бути ймовірним винуватцем.
Самік 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 → Preferences .

У моєму випадку я все перевіряв кілька разів, але він все ще не працював. Я збирався перевстановити все, але я натрапив на відповідь на цьому сайті (якийсь інший пост).

Перевірте свій антивірус. Можливо, це блокує порти програм adb.exeабо емуляторів тощо. Це вирішило проблему в моєму випадку.


1

Крім @Bastet :

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

Виконуючи кроки @Bastet , я з’ясував, що якийсь інший процес використовував цю адресу. Я пішов вперед, щоб його вбити, і це дало мені ACCESS DENIEDяк Error.

Тож за допомогою tasklist | findstr ****I я дізнався назву процесу та вбив його у диспетчера завдань.

Після цього він почав працювати.

У моєму випадку bas_daemonі bas_helperвикористовували цю адресу, обидві відповідають MOBOROBO .


0

У мене була така ж проблема. Але жодного процесу adbна моєму ноутбуці не було. Я просто виходжу з системи та входжу у свій обліковий запис, і це вирішено ...

Після цього ADB може початися з вікон CMD.


0

Найкращий і найефективніший спосіб без перезавантаження будь-якого пристрою чи програмного забезпечення:

Виконайте наступне:

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

І ще одне .. АБР - це річ, що залежить від себе. Ви нічого не можете робити, доки не захочете, щоб він працював. Є ще один спосіб, який я з’ясував: залиште пристрій підключеним на 5-6 хвилин і почекайте. Незабаром пристрій підключається і намагається запустити.


0

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

Це відбувається досить випадковим чином, але це безумовно відбувається під час запуску Eclipse.

Вбивство процесу adb.exe і перезапуск його вирішує проблему.


0

Подивіться на антивірус чи брандмауер ... Чи блокує вас якийсь доступ до цього ... У антивірусі k7 я вимкнув системний монітор, і він працює для мене ...


-1

Мені довелося дозволити adb.exe отримати доступ до моєї мережі в моєму брандмауері.


1
Я використовую цей брандмауер: sphinx-soft.com/de/Vista/order.html Все , що я зробив змінював правило adb.exe доallow all
Тер

-1

Вбити Eclipse і потім перезавантажити мені не допомогли. Я додав інструмент Android до змінних PATH, запустив диспетчер завдань і вбив adb.exe.

Я перезапустив Eclipse, а потім воно спрацювало.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.