Как обратно подключить эмулятор Android к ADB?

После того, как я запускаю эмулятор, нажав Debug в Eclipse, через определенное время он отключается от ADB, но эмулятор остается открытым. Он отзывчивый, я могу перемещаться и запускать приложения.

Как я могу снова подключить эмулятор к ADB, чтобы иметь возможность отлаживать Eclipse?

(текущим обходным путем является завершение эмулятора, закрытие Eclipse и перезапуск их обоих, что занимает 10 минут, поскольку вы знаете, что эмулятору нужно время для запуска)

ИЗМЕНИТЬ 1
Посмотрите на это изображение:

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

ИЗМЕНИТЬ 2

После того, как я убью и перезапущу server. Один процесс эмулятора отображается на вкладке «Устройства» в Eclipse. Но это нельзя расширить, и я не вижу подпроцессов.
Я уже не могу нажать отладку, так как пишет: Отладка уже запущена. (Как остановить отладку?)

Если мне удалось запустить отладку другого проекта, он зависает в эмуляторе, говоря мне: Ожидание подключения отладчика. Ничего не произошло.


person Pentium10    schedule 10.02.2010    source источник


Ответы (7)


Как вы сказали, проблема не в том, что Eclipse теряет связь с эмулятором, а в том, что ADB — Android Debug Bridge - потеря контакта с ним. Поскольку Eclipse использует ADB для связи с эмулятором, когда ADB не работает, Eclipse ничего не может сделать.

Чтобы исправить это, остановите сервер ADB, выполнив следующую команду:

adb kill-server

Затем Eclipse обычно пытается перезапустить ADB, или вы можете перезапустить его самостоятельно, выполнив команду ADB, например:

adb devices

Если вы это сделаете, вы увидите такой вывод:

* daemon not running. starting it now *
* daemon started successfully *
List of devices attached
emulator-5554   device

Вы также можете сделать это с помощью мыши, используя параметр Сбросить adb в представлении Устройства в Eclipse.

alt text

Также стоит отметить, что представление Консоль имеет два режима: DDMS и Android. Обычно вы находитесь в режиме Console, но это режим DDMS, в котором будут отображаться сообщения о состоянии ADB. Выберите режимы, нажав кнопку со значком «Монитор» или стрелку рядом с ним:

alt text

Если ничего не помогает, попробуйте убить процессы adb из ОС. В Windows XP я использую:

TASKKILL /F /IM adb.exe
person Dave Webb    schedule 10.02.2010
comment
Я не могу сделать это с помощью мыши, используя параметр Reset adb в представлении «Устройства» в Eclipse, потому что все, что там есть, недоступно. Проверьте мое редактирование выше. - person Pentium10; 10.02.2010
comment
@ Pentium10 - попробуйте убить процессы adb из ОС, иногда это помогает. Затем попробуйте перезапустить Eclipse, что для меня быстрее, чем перезапуск эмулятора. - person Dave Webb; 10.02.2010
comment
для меня В последнее время с этим обновлением сот похоже, что эмулятор не появляется, даже если выполняются все эти шаги по перезапуску adb. - person Tushar; 22.02.2011
comment
Два примечания: adb для меня находится в adt-bundle-.../sdk/partner-tools, и мне пришлось делать как adb kill-server, так и adb start-server. Eclipse у меня не запустился. - person Nick White; 29.01.2014

Есть более простой способ. Из eclipse вы можете сбросить adb с панели DDMS. Вот короткое видео об этом "Сброс ADB на DDMS"

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

person Munim Dibosh    schedule 13.10.2013
comment
Работал на меня. Спасибо :) - person NightFury; 10.03.2014
comment
Я сделал это, но он не подключил мой эмулятор обратно к ADB. - person Darpan; 01.08.2014

Иногда kill-сервер не помогает на моей машине (WinXP). Например, я больше не вижу эмулятор в DDMS-View или вижу его, но на нем нет запущенных процессов.

В этих случаях я закрываю эмулятор и затмение и вручную убиваю процесс adb.exe из списка процессов.

Когда я перезапускаю eclipse и эмулятор, все снова в порядке.

Теперь мне просто нужно сочетание клавиш для этого :-)

person rflexor    schedule 10.02.2010

на Mac мне просто пришлось убить adb из диспетчера действий и снова вручную открыть программу. было открыто затмение, и оно работало просто отлично.

person user1409438    schedule 22.05.2012

Попробуйте с adb kill-server и adb start-server. Даже в этом случае возникает та же проблема, которая убивает запущенный процесс с точки зрения ddms. Перейдите по этой ссылке (http://www.jiahaoliuliu.com/2011/02/stopping-android-applications-already.html). Это решило мою проблему. Надеюсь и на вас.

person Community    schedule 23.08.2013

Я тестирую приложение на эмуляторе Android 4.0 (уровень API 14), и как только я запускаю приложение, эмулятор запускается, и как только он загружается, Eclipse DDMS отключается от эмулятора.

Вот обходной путь, который я использую: откройте терминал, перейдите к инструментам платформы (C:\android-sdk\platform-tools\ или там, где у вас установлен android-sdk) и запустите adb kill-server, а затем запустите adb start-server. Теперь DDMS должен отображать эмулятор — с точки зрения Java щелкните правой кнопкой мыши приложение -> Запуск от имени -> Приложение Android.

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

person Zorayr    schedule 26.07.2012

Мой удобный bash-скрипт

#!/bin/bash
./path/to/adb kill-server
./path/to/adb start-server
./path/to/adb devices
person amit    schedule 19.10.2012