Android studio 无法打开调试器端口:java.net.SocketException“;“插座关闭”;

Android studio 无法打开调试器端口:java.net.SocketException“;“插座关闭”;,android-studio,Android Studio,我在Android Studio(v.0.4.4)上调试Android应用程序时遇到此错误: 运行[assembleDebug]时出错: 无法打开调试器端口:java.net.SocketException“套接字已关闭” 该应用程序可以编译,并且可以使用adb推送到手机上。亚洲开发银行没有问题;我可以完美地安装/监控logcat等。我可以加载另一个项目,并且可以很好地调试它。我换回这个,它还是坏的。所以这似乎排除了pc(实际上是在windows下运行的Linux虚拟机)、Android St

我在Android Studio(v.0.4.4)上调试Android应用程序时遇到此错误:

运行[assembleDebug]时出错:
无法打开调试器端口:java.net.SocketException“套接字已关闭”
该应用程序可以编译,并且可以使用adb推送到手机上。亚洲开发银行没有问题;我可以完美地安装/监控logcat等。我可以加载另一个项目,并且可以很好地调试它。我换回这个,它还是坏的。所以这似乎排除了pc(实际上是在windows下运行的Linux虚拟机)、Android Studio安装等的问题。我已经重新启动了这个虚拟机和主机pc

去年我遇到了这个问题,我通过卸载Eclipse“修复了它”(我怀疑它可能试图获得相同的套接字)

我花了一些时间在谷歌上搜索和尝试建议,但它们没有任何区别

这个问题发生在我生成一个经过签名的、预先准备的发布版本时。在此之前,我只运行调试构建。然而,我相信我创建这个发布版本所做的一切就是编辑build.gradle并将Android Studio配置为自动签署APK。我已将更改恢复为build.gradle,但问题仍然存在

我在任何Android Studio日志文件中都没有看到相关错误;就好像这个异常正在被捕获,在屏幕上报告,但在任何地方都没有记录


希望阅读本文的人能提出一些我忽略的修改建议。

在Android Studio桌面上,单击“选择运行/调试配置”按钮(带有Android图标的按钮),您应该能够选择正确的选项。

我已经关闭了此“套接字”我犯了几个星期的错误,这让我有点发疯。今天我发现,尽管通过调试图标启动,但如果我随后连接调试器,它仍然会给我一个“套接字关闭”的提示(在屏幕截图中)。希望这能节省别人的时间


我可以通过选择“应用”配置来解决此问题。在上面的屏幕截图中,运行按钮左侧的下拉菜单允许您选择配置。选择一个不带括号的配置

为了避免这个问题,并从Android Studio内部实际启动,我必须明确地切换正在操作的构建变体(通过在左侧边缘选择“构建变体”时弹出的面板)。然后,当实际为我的Android应用程序配置向上按debug按钮(通过Run/debug图标左侧的下拉菜单选择)时,它将正确部署我所处的构建变体模式。(如果我可以通过下拉菜单设置不同的Android应用程序配置来部署不同的构建类型,而不必手动切换变体,那就太好了,但我现在不知道该怎么做。)


另外,在build.gradle文件的buildTypes部分中,您可能希望
可调试true
,否则如果您尝试手动附加调试器,您的进程将不会显示在对话框中。

我遇到了相同的行为,上述解决方案对我不起作用,但我有一个小问题:我的应用程序扩展了android.app.Application。我发现对我有效的方法是编辑运行/调试配置(“编辑配置…”),并选择“不启动活动”而不是“启动默认活动”。

我在linux上遇到了这个错误,问题是之前的另一个进程占用了端口并挂起。因此,解决方案是使用netstat来定位阻塞端口的进程,然后终止该进程,或者您可以重新启动机器。

确保您的Android手机连接良好。

我刚才遇到了这个问题,简单的解决方案是:如果您有多个实例正在运行,请确保您的运行配置特定于不同的JMX端口。

我之所以出现此错误,是因为我将“运行/调试配置”对话框中的“测试种类”选项设置为“包中所有”,而不是“测试类”。当我将其设置为“测试类”时,调试器工作得完美无缺


我在Java程序中遇到了类似的问题。我重新启动了IDE并更改了JMX端口号。然后,程序在调试模式下运行,没有任何问题。

你知道吗,我昨晚在diffing workspace.xml(相当大的文件)并进行更改后发现了这一点,直到成功!每次我执行发布构建(单击Gradle,然后双击assembleRelease)时,它都会更改我的运行/调试配置以运行assembleRelease选项。这有什么意义?如何调试assembleRelease任务?这是Android Studio中的一个bug吗?这对我没有帮助。无论我选择什么,我都会收到相同的错误。我在哪里可以找到这个按钮?SAorry我对Android Studio非常陌生:(@Triztian其他人告诉我接受哪个答案!不。它指的是屏幕截图“上方”(其中“上方”在允许用户按3个不同标准对答案进行排序的网站上没有任何意义),只是接受答案的另一个变体(应用程序配置)7个多月前发布。这也是对我帮助最大的答案。上面的屏幕截图是14年10月9日qix的答案。在Android Studio中选择正确的配置是通过“选择运行/调试配置”完成的,通过左键单击运行按钮左侧菜单栏中的下拉菜单可以访问该配置(绿色直角三角形)。必须选择Android应用程序,无论其名称如何。其他应用程序都是无法调试的渐变构建目标,因此出现了错误。如果只是简单地告诉您选择“应用程序”,那么这个答案就是如何学习如何正确使用Android Studio在调试之前运行配置。这不是实际问题的答案。也是一个解决方案,但过于做作。选择带有下拉菜单的Android应用程序(屏幕截图中标记为[InstallDebug]的应用程序)可以轻松完成。这对我来说是一个间歇性问题。套接字是cl
Error running <appname> [assembleDebug]: 
Unable to open debugger port : java.net.SocketException "Socket closed"