Как разрешить сообщение «Ожидание отладчика»?

95

У меня HTC Comet подключен к Eclipse с помощью SDK 2.2. Делаю отладочную сборку - приложение не запускается; хотя он устанавливается на устройстве. На устройстве я получаю это окно сообщения на экране Comet

Ожидание отладчика
Приложение HunyDew (процесс com.airvine.hunydew) ожидает подключения отладчика.
[Принудительное закрытие]

В то время как в консоли Eclipse я получаю этот набор сообщений

[2010-12-07 01:42:29 - hunydewprj] Android Launch!  
[2010-12-07 01:42:29 - hunydewprj] adb is running normally.  
[2010-12-07 01:42:29 - hunydewprj] Performing com.airvine.hunydew.HunyDewAAStartsHere activity launch  
[2010-12-07 01:42:47 - hunydewprj] Application already deployed. No need to reinstall.  
[2010-12-07 01:42:47 - hunydewprj] Starting activity com.airvine.hunydew.HunyDewAAStartsHere on device 308730C861BC  
[2010-12-07 01:42:49 - hunydewprj] ActivityManager: Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.airvine.hunydew/.HunyDewAAStartsHere }  
[2010-12-07 01:42:49 - hunydewprj] Attempting to connect debugger to 'com.airvine.hunydew' on port 8601  
[2010-12-07 01:43:09 - hunydewprj] Launch error: Failed to connect to remote VM. Connection timed out.  

Приложение отлично работает в эмуляторе - пожалуйста, помогите - что мне здесь не хватает? Есть подсказки / предложения? Благодарность

Абхи
источник
2
Включена ли в телефоне опция «Отладка по USB»? Настройки - Приложения - Разработка - Отладка по USB.
Хесус Олива
Эта опция была установлена ​​в телефоне.
Abhi
Я получил это, и я помню, что он исчез через несколько секунд, а затем приложение в конечном итоге запустилось. Вы это понимаете?
chaimp
16
Это часто случается, если у вас открыто более 1 экземпляра Eclipse ... единственное решение, которое я нашел, - закрыть другие экземпляры; если у кого есть решение получше - выручайте.
nikib3ro
Для меня исправление, описанное ниже, помогло. martinahrer.at/2009/04/16/…

Ответы:

68

Некоторые устройства позволяют отладчику подключаться только в том случае, если приложение имеет разрешение android.permission.SET_DEBUG_APP, установленное в его файле манифеста:

<manifest>
  <uses-permission android:name="android.permission.SET_DEBUG_APP"></uses-permission>
</manifest> 
Иэн
источник
8
Этого не хватало, я добавил это - и поведение осталось прежним - это не работает
Абхи
Доступен ли ваш телефон через порт 8601? Если в eclipse вы перейдете в меню «Окно» -> «Показать вид» -> «Другое» -> «Android» -> «Устройства», показывает ли это представление, что ваше приложение прослушивает этот порт?
Iain
да, кажется, что телефон доступен через порт 8601 - если я сделаю снимок экрана (устройства) из Eclipse - он работает.
Abhi
23
У меня была такая же проблема, за исключением того, что я столкнулся с ней с эмулятором Android. Я понял, что если вы переведете компьютер в спящий режим во время работы Eclipse или эмулятора, это нарушит соединение между ними. Моя проблема исчезла после того, как я перезапустил эмулятор и Eclipse.
Вивек
1
Отличная помощь, на самом деле я последовал за помощью Вивекса. Я никогда не добавлял эту строку в манифест, но фактически позволил моей машине перейти в спящий режим. После перезапуска и эмулятора, и Eclipse я снова заработал. спасибо
wired00
52

Диалог ожидания отладчика отображается, если вы создаете приложение отладки или где-то в исходном коде вы вызвали Debug.waitingForDebugger ();

В Android Studio 2.0 и более поздних версиях есть опция «Присоединить отладчик к процессу Android». Это последний пункт меню «Выполнить».

Снимок экрана с параметрами меню "Выполнить" в Android Studio

Виктор Мвенда
источник
Спасибо, это была моя проблема - Android N - Google Pixel - IntelliJ
bsautner
3
До сегодняшнего дня мне никогда не приходилось этого делать, но теперь я вынужден. Должно быть, я случайно изменил настройку. Но какой?
Eurig Jones
Спасибо, это помощь
eigenfield
19

Не уверен, что это то, что вы ищете, но попробуйте указать:

android:debuggable="true"

в теге приложения в AndroidManifest.xml

Пратик Джайн
источник
Спасибо - да, у меня это есть -
Abhi
13
Это не имеет ничего общего с его проблемой, Eclipse автоматически включает отладку при запуске в режиме отладки. Вы НЕ хотите добавлять это в свой манифест, если только вы не хотите, чтобы ваши сборки выпуска выводили отладочную информацию.
Джастин Бузер,
Я удалил эту строку: android: debuggable = "false", и теперь она отлично работает.
Бадамчи
10

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

И конфигурация для отладки внутри eclipse также сильно меня смущала раньше, но сегодня я решил эту проблему, выполнив следующие шаги:

Если вы хотите отладить проект Android, например, mypro . вы должны щелкнуть по нему правой кнопкой мыши в "Package Explorer". Then choose "Debug as"-->"Android Application".

Тогда эмулятор может остановиться на «Ожидании подключения к отладчику» (или на чем-то подобном).

Затем вам нужно самостоятельно подключиться к отладчику, щелкнув «DDMS», чтобы открыть перспективу DDMS, и щелкнув вкладку «Устройства» .

После этого вы увидите список процессов, запущенных на вашем эмуляторе или устройстве.

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

Кстати, у меня ОС Win7 32-битная. Версия Eclipse - Helios Service Release 2. Android SDK - rev. 16 и платформенные инструменты »10.

Обновить.

Я обнаружил, что это проблема моей конфигурации TCP / IP. Отладчик не может быть подключен, когда я назначаю статический IP-адрес (для доступа в Интернет).

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

1. закрыть текущее окно затмения.

2. изменить конфигурацию IP-адреса на динамический , это означает получение IP-адреса по DHCP .

3. снова откройте затмение.

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

Стивенс
источник
4
«2. изменить конфигурацию IP-адреса на динамическую, это означает получение IP-адреса по DHCP». Как ты делаешь это? Уточните пожалуйста!
Ksice
@Ksice Привет, это означает «Получить IP-адрес динамически». Фактически, внутренний механизм отладчика Android основан на протоколе TCP / IP, поэтому, когда вы используете статический IP-адрес, кажется, что система не может подключить ваше оконечное устройство или эмулятор к отладчику
Стивенс
10

Я получаю это, если переключаю USB-кабель на другой порт на моем ПК, странно, но он работает, когда я снова переключаю его. Также я думаю, что это происходит, когда одновременно работает другое устройство или эмулятор, или когда открыты два экземпляра Eclipse.

Энди
источник
То же самое для меня, не было похоже, что у меня было открыто два экземпляра Eclipse, но вкладка процессов в диспетчере задач Windows показывала их.
Эндрю Мартин
Да, вы правы, у меня было два экземпляра eclipse. После закрытия второго экземпляра eclipse проблема была решена.
Signcodeindie
Если вы пробовали разрабатывать IntelliJ IDEA для Android, то это также может произойти, если у вас одновременно открыты Eclipse и IntelliJ.
SilithCrowe
Мне удалось попасть в эту ситуацию, имея два экземпляра IntelliJ IDEA, отлаживающих два приложения одновременно. После этого одно из приложений больше не запускалось, повторяя «Ожидание отладчика». Наконец исправил это, отсоединив USB-кабель и снова включив и выключив устройство.
RenniePet
4

Для тех, кто сталкивается с этим раздражающим поведением в 4.2.2, вы должны снять флажок с параметра «ждать отладчика» в параметрах разработчика. Конечно, эти параметры были скрыты Google, и вам нужно проделать хитрый трюк, чтобы заставить их снова появиться. Я установил их до того, как они исчезли, и не мог найти их снова.

На этой странице объясняется процедура

Джон
источник
мы можем вернуть эти параметры, я думаю, я понял это. но спасибо, это помогло.
stack_ved
3

Запустив Android Studio, я столкнулся с этой проблемой, и, попробовав различные средства, перезапуск Android Studio, похоже, решил проблему.

ThomasW
источник
3

Мое решение - использовать Dalvik Debug Monitor. Иногда рядом с процессом появляется красный или зеленый жук. Нажмите на устройство, на которое вы пытаетесь загрузить. Выберите вкладку Действия и сбросьте adb. Обычно это подключает отладчик для меня. Я считаю, что отладка с помощью этого монитора работает для меня лучше, чем использование плагина Android Eclipse Logcat.

Карол
источник
Я могу подтвердить, что сброс ADB (через вкладку Действия), как вы описали, устранил эту проблему для меня. Это отладка с эмулятором 4.0.
ubzack 09
1
Можете ли вы объяснить, что вы имеете в виду, говоря следующее: «Мое решение - использовать Dalvik Debug Monitor. Иногда рядом с процессом отображается ошибка красного или зеленого цвета. Щелкните устройство, на которое вы пытаетесь выполнить загрузку. Выберите вкладку Действия и сбросить adb. " Что для этого нужно сделать?
Regis_AG
2

Закрытие эмулятора и закрытие затмения. Повторное открытие Eclipse и запуск симулятора помогли мне.

Главное, что нужно искать - это панель «Устройства» в Eclipse. Если вы запускаете эмулятор или устройство, и оно отображается в списке имен устройств, но говорит [null], а под ним не отображаются запущенные процессы, то оно не будет правильно работать с загрузкой в ​​него вашего приложения.

Если имя устройства появляется и отображается в сети, значит, все работает нормально.

Не знаю, почему это не всегда получается.

CQM
источник
2

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

Если к ПК подключено несколько устройств, удалите другие устройства, кроме необходимого.

Gilchris
источник
2

В конечном итоге я перехожу в перспективу «Отладка».

Затем во фрейме «Отладка» отображается список отладки или рабочий список.

Вы должны решить, какой из них является вашим текущим, у которого есть эта проблема (Ожидание отладки ...)

Затем щелкните правой кнопкой мыши и выберите «Завершить и удалить».

Затем вы снова пытаетесь бежать. И это окно с предупреждением исчезнет.

Аписарн Сасук
источник
2

Я решил эту проблему так:

Перейдите в меню « Выполнить» ====> нажмите « Изменить конфигурации» ====> « Мицеллярно» и, наконец, снимите флажок « Пропустить установку, если APK не изменился».

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

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

Марко Аурелио Силва
источник
2

Решением для меня была перезагрузка телефона.

Стойка Мирча
источник
1

Если ваша среда разработки - Windows, убедитесь, что драйверы USB установлены правильно.

Один из способов убедиться, что драйверы USB установлены правильно, - это получить установщик Windows PDANet и позволить ему установить драйверы USB.

Вы можете найти страницу PDANet здесь.

JimR
источник
Я мог заставить его работать, не скачивая PDANet. Я просто переделал все, включая удаление предыдущего приложения - с помощью adb uninstall (ранее я использовал апплет настроек для удаления приложения). Спасибо за сообщение о PDANet. Пока что предложение Лейна было единственным, чего мне не хватало, но его ответ был до того, как была предложена награда. Мне тоже нравится ваш ответ - я надеюсь, что кто-то еще проголосует за ваш ответ - если это произойдет, вы и Лейн можете разделить награду - система не позволяет мне разделить награду.
Abhi
Это не имеет ничего общего с его проблемой, драйверы явно установлены уже, поскольку вывод консоли показывает, что ADB запрашивает устройство и обнаруживает, что приложение уже установлено, а затем запускает его.
Джастин Бузер,
1

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

Просто запустите ddms из командной строки и посмотрите, появляется ли устройство и можно ли к нему подключиться.

Вы также можете увидеть, появляется ли он, когда вы запускаете adb devicesи видите, что ваш телефон указан в списке (и, возможно, что-то еще ...)

Манфред Мозер
источник
1

У меня та же проблема, я знаю, что у меня не было других экземпляров, и я мог увидеть это с помощью adb devices. Я только что перезапустил eclipse, и это сработало.

Б-Райс
источник
1

Единственное, что у меня сработало, это перезагрузка ПК. Это сработало, когда у меня была эта проблема с телефоном Android 2.2, а также планшетом Android 3.1.

Мистер Бангл
источник
Сработало для меня - может быть, совпадение, но ожидалось обновление Windows.
OldCurmudgeon
0

Я столкнулся с этой проблемой сегодня. Потратив большую часть дня на попытки исправить это, единственное, что в итоге сработало, - это создать новое рабочее пространство и импортировать в него мой проект. Надеюсь, это поможет кому-то избежать всех проблем, через которые я прошел.

JP2014
источник
0

Я тоже отмечаю эту проблему. В своей среде я использую tomcat в качестве сервера и android в качестве клиента. Я обнаружил, что если tomcat запущен, эта ошибка «Ошибка запуска: не удалось подключиться к удаленной виртуальной машине. Истекло время ожидания подключения». произойдет. Если tomcat не запущен, adb работает нормально.

Даниэль
источник
0

Я пробовал все вышеперечисленные решения, иногда это устраняет проблему, но все же время от времени я останавливался с окном сообщения «Ожидание подключения отладчика».

Окончательным решением в моем случае было отключить все устройства Android, кроме того, на котором я хочу отлаживать. Я не знаю, какой из них является виновником: Nexus 7 с JB 4.2, HTC One X с ICS, HTC Desire S с Gingerbread или комбинация трех, но как только у меня подключено только одно устройство , он гладкий, как шелк.

Алексис Голубь
источник
0

Я использовал диспетчер задач, чтобы убить adb.exe, чтобы решить эту проблему. Adb.exe автоматически запустится после завершения работы.

Убив adb.exe, я решил много проблем, связанных с отладкой и эмуляторами.

Hong
источник
0

Для пользователей Android Studio я впервые столкнулся с этой проблемой при попытке запустить проект с голой костью сразу после обновления моего местоположения jdk . Я наткнулся на этот пост. В моем случае простая сборка-> Чистый проект сработала.

Незаконный аргумент
источник
0

У меня также была такая же проблема при использовании Android Studio и GenyMotion. Я могу решить эту проблему, приостановив программу и возобновив ее снова после появления сообщения «Ожидание отладчика». Это может работать и при использовании других IDE и эмуляторов.введите описание изображения здесь

Суреш Субеди
источник
0

Android Studio 1.2.2 на Mac OS 10.10 Та же проблема, что и другие. Я закрыл Android Studio, затем проверил из командной строки в терминале:

пс -efw | grep -i android

Сообщается о java-процессе (.gradle / daemon), связанном с Android Studio. Я убил этот процесс, перезапустил Android Studio, и проблема исчезла.

Блистерный арахис
источник
0

отключите опцию разработчика в вашем телефоне.

Настройки> Параметр разработчика> Отключить

У меня это сработало, когда я попытался использовать свое приложение без отладки.

Фазаль
источник
0

Что решило проблему для меня, так это: «Выполнить» -> «Присоединить отладчик к процессу Android», а затем выбрать свой процесс.

Вы делаете это в Android Studio.

Сид
источник
0

У меня была такая же проблема, я исправил ее, явно выбрав желаемое устройство в конфигурации отладки. К сожалению, даже после этого журнал иногда останавливается, когда отладчик пытается подключиться. В этом случае в перспективе DDMS найдите желаемый процесс. Он будет выделен зеленой ошибкой. Нажмите «Остановить» и снова выполните отладку.

Андрей Тальников
источник
0

Это может быть старая версия, но для последнего обновления Genymotion 2.7.1 перейдите в Параметры разработчика , если вы не знаете, как открыть эту опцию, перейдите в О телефоне и нажмите Номер сборки несколько раз, и параметры разработчика будут включены. Включите опцию разработчика, проверьте отладку по USB .

Проверено на Genymotion 4.4 и выше. Странное решение, а? Но определенно работает. Надеюсь, это поможет. Счастливые кодировки.

ralphgabb
источник
0

В режиме отладки Android Studio подключается к вашему устройству через сокет (: 8600). Каким-то образом ваше соединение с сокетом заблокировано и, следовательно, не отвечает на входящие соединения.

Перезапустите Android Studio, и ваша проблема будет решена.

ГималайскийКодер
источник
-1

Я много читал об этом, и единственное решение, которое сработало для меня, - это создать новый проект, а затем скопировать в него старый проект.

псторли
источник