Как разрешить ошибку «ADB server not ACK»?
Я пытаюсь установить мой проект на 5 AVD одновременно, но я постоянно получаю эту ошибку, я выполняю ее в Windows 8.1
Я пробовал читать все возможные сообщения в stackoverflow относительно этой ошибки, и все они просто упоминают, что пытаются убить процесс adb и перезапустить eclipse, и тогда все будет в порядке. Я пробовал метод, упомянутый в сообщениях, и вместе с тем я также отключил защиту и брандмауэр, так что нет препятствий для порта 5037. Кто-нибудь, пожалуйста, помогите мне, поскольку мне нужно выполнить свой проект, и я не могу Для этого 🙁 Для вашей справки я могу предоставить вывод следующей команды «netstat -ano | findstr» 5037 «»
Кто-нибудь, пожалуйста, предложите обходную проблему, что может быть причиной этого. Также вы можете взглянуть на следующее изображение, чтобы сделать вывод о том, что может произойти.
- Закрыть Eclipse.
- Перезагрузите телефон.
- Завершить работу adb.exe в диспетчере задач (Windows). В Mac закройте окно Activity Monitor.
- Выполните команду kill и start в \ platform-tools \
- C: \ sdk \ platform-tools> adb kill-server
- C: \ sdk \ platform-tools> adb start-server
- Если он говорит что-то вроде «начал успешно», вы добры.
Для тех, кто использует OSX (я знаю, что OP нет): то, что в итоге работало для меня, было удаление папки настроек Android в домашнем каталоге.
Для меня это не сработало, это было связано с проблемой пути, возникшей после предварительного просмотра Android-версии 2.0 2.0, необходимого для обновления genymotion и виртуальной коробки, и, судя по всему, они пытались использовать один и тот же порт для adb.
Решение объясняется здесь ссылкой ! В основном вам просто нужно:
1) открыть настройки геномности
2) укажите путь sdk для adb вручную
3) adb kill-server
4) adb start-server
надеюсь это поможет
- «Соединение с adb не работает, и произошла серьезная ошибка».
- Соединение с adb отключено, и произошла серьезная ошибка. Необходимо перезапустить adb и Eclipse. Убедитесь, что adb правильно расположен
- ECLIPSE. Соединение с adb отключено, и произошла серьезная ошибка.
Сначала закройте IDE.
В моем случае я убил adb через диспетчер задач ( adb kill-server не работал)
Затем adb start-server
- Демон не работает. Начиная с порта 5037 *
- Демон начал успешно *
Если вы видите, что «началось успешно», чем оно разрешено, начните работу с IDE.
На моем Mac я написал этот код в моем терминале:
xxx $ cd / Пользователи / xxx / Documents / 0_Software / adt20140702 / sdk / platform-tools /
Xxx-MacBook-Pro: платформенные инструменты xxx $ ./adb kill-server
Xxx-MacBook-Pro: платформы-инструменты xxx $ ./adb start-server
- Демон не работает. Начиная с порта 5037 *
- Демон начал успешно *
Xxx-MacBook-Pro: платформенные инструменты tuananh $
Надеюсь, эта помощь.
Если вы используете какой-либо мобильный костюм, такой как mobogenie или что-то, что может также вызвать эту проблему. Попробуйте убить это тоже из диспетчера задач.
Примечание: я столкнулся с той же проблемой, попробовал вышеуказанное решение. Это не сработало, наконец выяснилось это решение. Может быть полезно кому-то еще! ..
В конце концов, я использовал Resource Monitor, чтобы узнать, какое приложение все еще прослушивает порт 5037 после того, как все перезапуск Eclipse и adb были безуспешными для меня.
Это в конечном итоге показало, что java.exe прослушивает порт 5037, следовательно, не позволяет adb делать это. Я убил java.exe, сразу же запустил adb (с начальным сервером adb) и получил подтверждение, что adb смог запустить:
У меня есть своего рода botch для старого сервера ADB, не ACK * не удалось запустить daemon * проблема, которая может помочь, хотя я не видел кого-то еще с моей проблемой, так что, возможно, нет. Так или иначе…
Я изменил местоположение установки по умолчанию для моего ощущения HTC на 2 (SD-карта), но когда вы пытаетесь вернуться к 0 (внутреннему), я получал эту ошибку. В диспетчере задач было показано, что было 2 экземпляра работы adb.exe, один из которых продолжал останавливаться и запускаться, и его невозможно было убить, а другого можно было убить, но новый экземпляр начнется почти сразу.
Единственный способ, с помощью которого я мог бы получить adb, чтобы начать успешно, – это подготовить мою команду в командном окне, перейти в диспетчер задач, чтобы закончить adb.exe, а затем, когда появилось окно, сказал: «Вы уверены, что хотите убить adb.exe ‘Перетащил это над командным окном, нажал ОК, а затем сразу нажал Enter, чтобы запустить команду. Кажется, что короткое окно между adb.exe, которое убивают и перезапускает сам, является достаточным для выполнения команды, хотя если вы попытаетесь сделать что-то еще, это не сработает, и вам придется повторять этот процесс каждый раз, когда вы хотите запустить команду ,
PITA, но это единственный способ, которым необразованное число, как и я, могло обойти его – надеюсь, это поможет кому-то …
Я несколько раз решая эту проблему, используя те же шаги:
1- Закрыть Затмение.
2- Перезагрузите телефон.
3- Завершить работу adb.exe в диспетчере задач (Windows). В Mac закройте окно Activity Monitor.
4- Ошибка запуска и запуска команды в \ platform-tools \
C: \ sdk \ platform-tools> adb kill-server
C: \ sdk \ platform-tools> adb start-server
5- Если в нем говорится что-то вроде «началось успешно», вы хорошо.
Но теперь это не работает, потому что у меня есть антивирус под названием «Baidu», эта программа запустила «Baidu ADB server», наконец, я выключил этот процесс и повторил выше шаги, он работает правильно.
Источник
Android adb server error
Platform-tools: r31.0.3
ADB: 1.0.41 (31.0.3-7562133)
Fastboot: 31.0.3-7562133
Make_f2fs: 1.14.0 (2020-08-24)
Mke2fs: 1.46.2 (28-Feb-2021)
Последнее обновление утилит в шапке: 01.08.2021
ADB (Android Debug Bridge — Отладочный мост Android) — инструмент, который устанавливается вместе с Android-SDK и позволяет управлять устройством на базе ОС Android.
Работает на всех Android-устройствах, где данный функционал не был намеренно заблокирован производителем.
Здесь и далее: PC — ПК, компьютер к которому подключено устройство.
ADB — консольное приложение для PC, с помощью которого производится отладка Android устройств, в том числе и эмуляторов.
Работает по принципу клиент-сервер. При первом запуске ADB с любой командой создается сервер в виде системной службы (демона), которая будет прослушивать все команды, посылаемые на порт 5037.
Официальная страница
ADB позволяет:
- Посмотреть какие устройства подключены и могут работать с ADB.
- Просматривать логи.
- Копировать файлы с/на аппарат.
- Устанавливать/Удалять приложения.
- Удалять (очищать) раздел data.
- Прошивать (перезаписывать) раздел data.
- Осуществлять различные скрипты управления.
- Управлять некоторыми сетевыми параметрами.
Поставляется ADB в составе инструментария разработчика Андроид (Android SDK), который, в свою очередь входит в состав Android Studio.
Если что-то неправильно, то в списке подключенных устройств (List of devices attached) будет пусто.
Скрытые команды ADB
adb -d Команда посылается только на устройство подключенное через USB.
Внимание: Выдаст ошибку, если подключено больше одного устройства.
adb -e Команда посылается на устройство в эмуляторе.
Внимание: Выдаст ошибку, если подключено больше одного эмулятора.
adb -s Команда посылается на устройство с указанным серийным номером:
adb -p Команда посылается на устройство с указанным именем:
Если ключ -p не указан, используется значение переменной ANDROID_PRODUCT_OUT.
adb devices Список всех подсоединенных устройств.
adb connect [: ] Подсоединиться к андроид хосту по протококу TCP/IP через порт 5555 (по умолчанию, если не задан).
adb disconnect [ [: ]] Отсоединиться от андроид подключенного через TCP/IP порт 5555 (по умолчанию, если не задан).
Если не задан ни один параметр, отключиться от всех активных соединений.
adb push Копировать файл/папку PC->девайс.
adb pull [ ] Копировать файл/папку девайс->PC.
adb sync [ ] Копировать PC->девайс только новые файлы.
Ключи:
-l Не копировать, только создать список.
adb shell Запуск упрощенного unix shell.
Примеры использования
adb emu Послать команду в консоль эмулятора
adb install [-l] [-r] [-s] Послать приложение на устройство и установить его.
Пример: adb install c:/adb/app/autostarts.apk Установить файл autostarts.apk лежащий в папке /adb/app/ на диске с:
Ключи:
-l Блокировка приложения
-r Переустановить приложение, с сохранением данных
-s Установить приложение на карту памяти
Установка split apk
adb uninstall [-k] Удаление приложения с устройства.
Ключи:
-k Не удалять сохраненные данные приложения и пользователя.
adb wait-for-device Ждать подключения устройства.
adb start-server Запустить службу/демон.
adb kill-server Остановить службу/демон.
adb get-state Получить статус:
offline Выключен.
bootloader В режиме начальной загрузки.
device В режиме работы.
adb get-serialno Получить серийный номер.
adb status-window Непрерывный опрос состояния.
adb remount Перемонтировать для записи. Требуется для работы скриптов, которые изменяют данные на.
adb reboot bootloader Перезагрузка в режим bootloader.
adb reboot recovery Перезагрузка в режим recovery.
adb root Перезапуск демона с правами root
adb usb Перезапуск демона, прослушивающего USB.
adb tcpip Перезапуск демона, прослушивающего порт TCP.
adb ppp [параметры] Запуск службы через USB.
Note: you should not automatically start a PPP connection. refers to the tty for PPP stream. Eg. dev:/dev/omap_csmi_tty1
Параметры:
defaultroute debug dump local notty usepeerdns
FastBoot — консольное приложение для PC. Используется для действий над разделами
fastboot devices Список присоединенных устройств в режиме fastboot.
fastboot flash Прошивает файл .img в раздел устройства.
fastboot erase Стереть раздел.
Разделы: boot, recovery, system, userdata, radio
Пример: fastboot erase userdata Стирание пользовательских данных.
fastboot update Прошивка из файла имя_файла.zip
fastboot flashall Прошивка boot + recovery + system.
fastboot getvar Показать переменные bootloader.
Пример: fastboot getvar version-bootloader Получить версию bootloader.
fastboot boot [ ] Скачать и загрузить kernel.
fastboot flash:raw boot [ ] Создать bootimage и прошить его.
fastboot devices Показать список подключенных устройств.
fastboot continue Продолжить с автозагрузкой.
fastboot reboot Перезагрузить аппарат.
f astboot reboot-bootloader Перезагрузить девайсв режим bootloader.
Перед командами fastboot можно использовать ключи:
-w стереть данные пользователя и кэш
-s Указать серийный номер устройства.
-p
Указать название устройства.
-c Переопределить kernel commandline.
-i Указать вручную USB vendor id.
-b Указать в ручную базовый адрес kernel.
-n
Указать размер страниц nand. по умолчанию 2048.
Команду logcat можно использовать с машины разработки
$ adb logcat
или из удаленного shell
# logcat Каждое сообщение лога в Android имеет тэг и приоритет
Тэг – это строка указывающая компонент системы, от которого принято сообщение (например: View для системы view)
Приоритет – имеет одно из нижеследующих значений (в порядке от меньшего к большему):
V — Verbose (Низший приоритет).
D — Debug
I — Info
W — Warning
E — Error
F — Fatal
S — Silent (Наивысший приоритет, при котором ничего не выводится).
Получить список тэгов, используемых в системе, вместе с их приоритетами можно запустив logcat. В первых двух столбцах каждого из выведенных сообщений будут указаны / .
Пример выводимого logcat сообщения:
I/ActivityManager( 585): Starting activity: Intent
Для уменьшения вывода лога до приемлемого уровня нужно использовать выражения фильтра. Выражения фильтра позволяют указать системе нужные комбинации и , остальные сообщения система не выводит.
Выражения фильтра имеют следующий формат : . где указывает нужный тэг, указывает минимальный уровень приоритета для выбранного тэга. Сообщения с выбранным тэгом и приоритетом на уровне или выше указанного записываются в лог. Можно использовать любое количество пар : в одном выражении фильтра. Для разделения пар : используется пробел.
Пример ниже выводит в лог все сообщения с тэгом «ActivityManager» с приоритетом «Info» или выше, и сообщения с тэгом «MyApp» и приоритетом «Debug» или выше:
adb logcat ActivityManager:I MyApp:D *:S
Последний элемент в выражении фильтра *:S устанавливает приоритет «silent» для всех остальных тэгов, тем самым обеспечивая вывод сообщений только для «View» и «MyApp». Использование *:S – это отличный способ для вывода в лог только явно указанных фильтров (т.е. в выражении фильтра указывается «белый список» сообщений, а *:S отправляет все остальное в «черный список»).
При помощи следующего выражения фильтра отображаются все сообщения с приоритетом «warning» или выше для всех тэгов:
adb logcat *:W
Если logcat запускается на машине разработчика (не через удаленный adb shell), можно также установить значение выражения фильтра по умолчанию задав переменную окружения ANDROID_LOG_TAGS:
export ANDROID_LOG_TAGS=»ActivityManager:I MyApp:D *:S»
Следует обратить внимание что задав переменную окружения ANDROID_LOG_TAGS она не будет работать в эмуляторе/устройстве, если вы будете использовать logcat в удаленном shell или используя adb shell logcat.
Вышеописанная команда export работает в ОС *nix и не работает в Windows.
Контроль формата вывода лога
Сообщения лога в дополнение к тэгу и приоритету содержат несколько полей метаданных. Можно изменять формат вывода сообщений показывая только конкретные поля метаданных. Для этого используется параметр -v и указывается один из ниже перечисленных форматов вывода.
brief Показывать приоритет/тэг и PID процесса (формат по умолчанию).
process Показывать только PID.
tag Показывать только приоритет/тэг.
thread Показывать только процесс:поток и приоритет/тэг.
raw Показать необработанное сообщение, без полей метаданных.
time Показывать дату, время вызова, приоритет/тэг и PID процесса.
long Показывать все поля метаданных и отдельно сообщения с пустыми строками.
При запуске logcat можно указать формат вывода используя параметр -v:
adb logcat [-v
Источник