Ответ 1
На рабочем столе Android Studio нажмите кнопку "Выбрать кнопку" Запустить/отладить конфигурацию "(одна с иконкой Android), вы сможете выбрать правильный вариант.
Я получаю эту ошибку при попытке отладки приложения Android на Android Studio (v.0.4.4):
Error running <appname> [assembleDebug]:
Unable to open debugger port : java.net.SocketException "Socket closed"
Приложение компилируется и может быть перенесено на телефон с помощью adb. Нет проблем с adb; Я могу установить/контролировать logcat и т.д. Я могу загрузить другой проект и отлаживать его просто отлично. Я возвращаюсь к этому, и он все еще сломан. Таким образом, чтобы исключить проблему с ПК (на самом деле Linux vm работает под окнами), установка Android Studio и т.д. Я перезагрузил этот vm и хост.
У меня была эта проблема в прошлом году, и я "исправил ее", а затем удалив Eclipse (я подозревал, что, возможно, он пытался получить тот же сокет).
Я потратил некоторое время на поиск в Google и попытку, но они не имеют никакого значения.
Проблема возникла примерно в то время, когда я выпустил подписанную, дополненную сборку релизов. До тех пор я только запускал сборку отладки. Тем не менее, я считаю, что все, что я сделал для создания этой версии сборки, было для редактирования build.gradle и настройки Android Studio для автоматической подписки apks. С тех пор я вернул изменения в build.gradle, но проблема остается.
Я не вижу соответствующих ошибок в любых файлах журналов Android Studio; как будто это исключение захватывается, сообщается на экране, но нигде не регистрируется.
Надеюсь, кто-нибудь, кто это прочитает, может предложить несколько вещей, чтобы изменить это, что я упустил.
На рабочем столе Android Studio нажмите кнопку "Выбрать кнопку" Запустить/отладить конфигурацию "(одна с иконкой Android), вы сможете выбрать правильный вариант.
У меня была ошибка "Socket closed" в течение нескольких недель, и это приводило меня в замешательство. Сегодня я обнаружил, что хотя запуск с помощью значка отладки все равно дает мне "Socket closed", если я присоединяю отладчик впоследствии, он работает (на снимке экрана). Надеюсь, это спасет чужое время.
Мне удалось исправить эту проблему, выбрав конфигурацию "приложение". На приведенном выше экране снимок слева от кнопки запуска позволяет вам выбрать конфигурацию. Выберите один без скобок.
Чтобы избежать этой проблемы и фактически запускаться из Android Studio, я должен был явно переключить вариант сборки, в котором я работал (через панель, которая появляется при выборе "вариантов сборки" на левом краю). Затем, когда на самом деле нажатие кнопки отладки вверх для моей настройки приложения Android (выбрано в раскрывающемся меню слева от значков "Запуск/отладка" ), оно правильно развернет режим варианта сборки, в котором я был. (Было бы неплохо, если бы я мог настроить различные конфигурации приложений для Android, чтобы развернуть различные типы сборки из выпадающего меню, вместо того, чтобы переключать варианты более вручную, но я не вижу, как сейчас.
Также в разделе buildTypes в файле build.gradle вы, вероятно, захотите debuggable true
, иначе ваш процесс не появится в диалоговом окне, если вы попытаетесь вручную подключить отладчик.
Я получал эту ошибку в Linux, и проблема в том, что другой предыдущий процесс взял порт и повесил. Таким образом, решение представляет собой netstat, чтобы найти процесс, блокирующий порт, затем уничтожить этот процесс или перезапустить компьютер.
Я столкнулся с одним и тем же поведением, вышеупомянутые решения не сработали для меня, но у меня есть крошечный аргумент: мое приложение расширяет андроид .app.Application. То, что я нашел для меня, - это отредактировать конфигурацию прогона/отладки ( "Редактировать конфигурации..." ) и выбрать "Не запускать действие" вместо "Запустить действие по умолчанию".
Я столкнулся с этой проблемой только сейчас, простое решение: если у вас запущено несколько экземпляров, убедитесь, что в вашем сценарии запуска указан другой порт JMX. обратитесь к изображению
Я получал эту ошибку, потому что у меня была опция "Test Kind" в диалоговом окне "Run/Debug Configurations", установленном на "All in Package", а не "Test Class". Когда я устанавливаю его в "Test Class", отладчик работал безупречно.
У меня была аналогичная проблема с программой Java. Я перезапустил IDE и изменил номер порта JMX. Тогда программа запускалась в режиме отладки без каких-либо проблем.
Убедитесь, что ваш телефон Android хорошо подключен.