Вопрос

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

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

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

РЕДАКТИРОВАТЬ 1
Посмотрите на это изображение:

enter image description here

РЕДАКТИРОВАТЬ 2

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

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

Это было полезно?

Решение

Как вы сказали, проблема не в том, что Eclipse теряет связь с эмулятором, а в ADB - Мост отладки Android - потеря контакта с ним.Поскольку 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

Другие советы

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

Вот краткий скриншот того, где вы можете получить эту опцию.enter image description here

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

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

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

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

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

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

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

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

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

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

#!/bin/bash
./path/to/adb kill-server
./path/to/adb start-server
./path/to/adb devices
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top