2015-02-02 3 views
19

Я использую Android Studio v1.0.1 для создания приложения в Mac OS Yosemite 10.10, но когда я пытаюсь отладить приложение, оно устанавливается правильно, но ошибка:Невозможно открыть порт отладчика: java.net.ConnectException «Соединение отказано»

Error running [app]: Unable to open debugger port : java.net.ConnectException "Connection refused"

Когда я запускаю приводы DDMS, устройства подключены и показывают процесс. Проблема его только при попытке debugg в Android Studio

В других форумах я уже учрежденных, которые могли бы изменить порт отладчика, но это не решает мою проблему

Если кто-то мог HelpMe, чтобы решить эту проблему, пожалуйста,

+0

Такая же проблема, и кажется, что ни один процесс не использует этот порт. – EricFromChina

ответ

20

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

fuser -k 8601/tcp 

UPDATE:

Под OSX, lsof должен делать эту работу в замене fuser :

lsof -i :8601 
+1

пытается использовать фьюзер в mac возвращает, что -k является неизвестной опцией –

+0

@ KleiberJ.Perez yay, это команда unix, не уверенная в том, как она работает под OSX – bonnyz

+1

@ KleiberJ.Perez Я обновил мой ответ с уточнением относительно 'fuser' и OSX – bonnyz

0

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

+0

есть много разных способов использования 'netstat', какие команды вы могли бы запустить, чтобы посмотреть на это? – MrColes

+0

@MrColes Попробуйте следующее: Windows - >> netstat -anto | findstr 8616 Linux: netstat -anto | grep 8616 Где 8616 - номер порта, который вас интересует. Вы также можете поэкспериментировать с флагами -ano, чтобы отображать все протоколы NET. (-t означает только TCP) –

15

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

Во-первых, вы должны знать, что вызовет проблему «отказ в соединении». Обычно существует две возможные причины:

  1. Этот конкретный сервер не запущен.
  2. Сервер запущен, но не принимает никакого подключения.

Что касается вашей проблемы, я предлагаю вам начать свой первый Android Monitor Device (DDMS) с андроид студии, и НЕ ЗАКРЫТЬ ЕГО.

Затем в DDMS вы можете выбрать пакет, который хотите отлаживать, и «Обновить потоки», и теперь вы можете отлаживать это приложение в своей студии.

+0

Это определенно помогло мне увидеть, что происходит. Мне пришлось в конце концов закрыть DDMS, чтобы получить отладчик AS для подключения через ADB «подключиться к процессу», но открытие DDMS стало большой помощью для просмотра того, какие устройства подключены и какие процессы, на которых работает на каждом устройстве, такие +1. – Litome

+0

Это также работает для меня. Принятый ответ не сделал. – user1549672

+0

Я не следую этому ... после запуска DDMS и просмотра приложения на устройстве и выбора «Обновить потоки», а затем что дальше? Есть ли что-то значимое, которое можно найти в любом из запущенных потоков? – MrColes

5

Моя проблема решаемая ниже шагов:

1. Invalidate кэшей/Restart Android студии

2. Restart вас Emulator.

Выполнено для меня.

2

Восстановленный мой Android Studio, работал для меня.

1

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

+0

Отключите и включите вилку! –

0

Для меня ни одно из вышеизложенных решений не было решено и застряло в этом в течение нескольких месяцев, пока я не решил это решение. У меня была модифицированная версия моего файла HOST на моей машине Mac, например, указав IP 127.0.0.1 на собственный домен, например www.mymac.com. Как только я вернул это, я могу отлаживать. Да!!! надеюсь, это поможет кому-то.

Смежные вопросы