Как подключить эмулятор Android к ADB?
После запуска эмулятора, нажав Debug в Eclipse, через некоторое время он отключится от ADB, но эмулятор остается открытым. Это отзывчиво, я могу ориентироваться и запускать приложения.
Как я могу подключить эмулятор к ADB, чтобы иметь возможность отлаживать из Eclipse?
(текущее обходное решение - это завершение эмулятора, закрытие Eclipse и перезапуск обоих из них, что занимает 10 минут, поскольку вы знаете, что для запуска эмулятора требуется время)
РЕДАКТИРОВАТЬ 1
Посмотрите это изображение:
![enter image description here]()
РЕДАКТИРОВАТЬ 2
После того, как я убью и перезапустил сервер. Один процесс эмулятора отображается на вкладке "Устройства" в Eclipse. Но это невозможно расширить, и я не вижу подпроцессов.
Я уже не могу отлаживать отладку, поскольку он говорит: Debug уже запущен. (Как остановить отладку?)
Если мне удалось запустить отладку другого проекта, он зависает в эмуляторе, говоря мне: "Ожидание отладчика для присоединения". Ничего не происходит.
Ответы
Ответ 1
Как вы сказали, проблема заключается не в том, что 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
Вы также можете сделать это с помощью мыши, используя опцию Reset adb в представлении Устройства в Eclipse.
![alt text]()
Также стоит отметить, что представление Консоль имеет два режима: DDMS
и Android
. Обычно вы находитесь в режиме Console
, но в режиме DDMS
, который отображает сообщения о состоянии ADB. Выберите режимы, нажав кнопку с помощью значка "Монитор" или используя стрелку рядом с ней:
![alt text]()
Если все остальное не удается, попробуйте убить процессы adb из ОС. В Windows XP я использую:
TASKKILL /F /IM adb.exe
Ответ 2
Существует более простой способ. Из затмения вы можете reset добавить adb из панели DDMS.
Вот короткое видео о том, что "Reset ADB на DDMS"
Вот скриншот, где вы можете получить опцию. ![enter image description here]()
Ответ 3
Иногда kill-server не помогает на моей машине (WinXP). Например, я больше не вижу эмулятора в DDMS-View или вижу его, но на нем не работает никаких процессов.
В этих случаях я закрываю эмулятор и затмение и вручную уничтожаю adb.exe-процесс из списка процессов.
Когда я перезапущу eclipse и эмулятор, все снова прекрасное.
Теперь мне просто нужен ярлык для клавиатуры: -)
Ответ 4
на mac, мне просто пришлось убить adb из диспетчера активности и снова снова открыть программу повторно. все затмение было вскрыто, и все прошло отлично.
Ответ 5
Попробуйте использовать kill-server и adb start-server. Даже тогда одна и та же проблема приводит к тому, что ваш рабочий процесс запускается из ddms. Обратитесь к этой ссылке (http://www.jiahaoliuliu.com/2011/02/stopping-android-applications-already.html). Это решило мою проблему. Надеюсь на вас.
Ответ 6
Я тестирую приложение на эмуляторе Android 4.0 (API уровня 14), и как только я запустил приложение, запускается эмулятор, и как только он загружается, Eclipse DDMS отключается от эмулятора.
Вот обходной путь, который я использую: Откройте терминал, перейдите к инструментам платформы (C:\android-sdk\platform-tools\или везде, где у вас установлен ваш android-sdk) и запустите adb kill-server
, а затем adb start-server
. Теперь DDMS должен перечислить эмулятор - с точки зрения Java, щелкните правой кнопкой мыши приложение → Запустить как → Приложение Android.
Надеюсь, что это поможет.
Ответ 7
Мой удобный bash script
#!/bin/bash
./path/to/adb kill-server
./path/to/adb start-server
./path/to/adb devices