Как выполнять отладку при запуске тестов Robolectric в Android Studio?

Мне нужно запустить отладку во время выполнения моих тестов в Android Studio + Robolectric. Каждый раз, когда я пытаюсь запустить их, выбирая debug для задачи test из задач Gradle, я получаю сообщение об ошибке:

Ошибка при запуске имя_пакета:имя_приложения [тест]: невозможно открыть порт отладчика: java.net.SocketException «Сокет закрыт»

Любые идеи?


person Eugene    schedule 17.01.2014    source источник


Ответы (2)


Я нашел причину ошибки. Чтобы запустить его, вам нужно снять флажок «Использовать внутрипроцессную сборку» в настройках компилятора -> Gradle Android Studio.

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

person Eugene    schedule 17.01.2014
comment
@HeathBorders, не могли бы вы подробно опубликовать, как заставить это работать на Intellij - person StackFlowed; 03.09.2014
comment
Я не помню сейчас. Я надеюсь, что в прошлом я добавил бы больше заметок или другой ответ, если бы было больше шагов. - person Heath Borders; 03.09.2014
comment
Это замедляет сборку, поэтому я надеюсь, что Google исправит это в Android Studio. @HeathBorders: IntelliJ IDEA не имеет этой проблемы, поскольку в первую очередь не поддерживает внутрипроцессную сборку. - person Nilzor; 19.11.2014
comment
Это мне не помогает. Запуск Android Studio 1.1.0 - person parvus; 02.04.2015
comment
Где я могу найти эту настройку? Извините, я новичок в Android Studio, и мне вообще не нравится Android: P - person Maciek Czarnik; 03.06.2015
comment
Похоже, это больше не применяется в IntelliJ 2016.3.3. - person Benjamin Burkhart; 01.02.2017
comment
Этот параметр, похоже, исчез в Android Studio v1.3. Вот обходной путь: stackoverflow.com/a/31570957/1434060 - person Miss Amelia Sara; 20.03.2017

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

person Rogelio Triviño    schedule 07.11.2016