如何在Android Studio中运行Robolectric测试时进行调试?

40

我需要在Android Studio + Robolectric中执行测试时进行调试。

每次我尝试通过从Gradle任务中选择test任务的debug来运行它们时,我都会收到以下错误消息:

运行package_name:app_name [test]时发生错误:无法打开调试器端口:java.net.SocketException“Socket closed”

有什么想法吗?

2个回答

70

我找到了错误的原因。为了让它运行,需要在Android Studio的编译器 -> Gradle设置中取消勾选"使用内部进程构建"选项。

输入图像描述


1
@HeathBorders,您能否请详细说明如何在Intellij上使其工作? - StackFlowed
1
我现在记不起来了。如果有更多的步骤,我希望过去的我会添加更多的注释或不同的答案。 - Heath Borders
这会减慢构建速度,所以我希望 Google 能在 Android Studio 中解决这个问题。@HeathBorders:IntelliJ IDEA 并没有这个问题,因为它一开始就不支持进程内构建。 - Nilzor
3
这不能帮助我。正在运行Android Studio 1.1.0版本。 - parvus
我在哪里可以找到这个设置?抱歉,我很新手Android Studio,而且我不太喜欢Android :P - Maciek Czarnik
显示剩余2条评论

2
我在Linux上遇到了这个错误,问题是另一个先前的进程占用了端口并挂起了。因此,解决方案是使用netstat查找阻塞端口的进程,然后杀死该进程,或者可以重启机器。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接