无法打开调试器端口:java.net.SocketException"Socket closed"

51 intellij-idea android-studio

尝试在Android Studio(v.0.4.4)上调试Android应用时出现此错误:

Error running <appname> [assembleDebug]: 
Unable to open debugger port : java.net.SocketException "Socket closed"
Run Code Online (Sandbox Code Playgroud)

该应用程序编译,并可以使用adb推送到手机.adb没问题; 我可以完美地安装/监控logcat等.我可以加载另一个项目,可以调试它就好了.我切换回这个,它仍然被打破.因此,这似乎排除了pc(实际上是在Windows下运行的Linux vm),Android Studio安装等问题.我重启了这个vm和主机pc.

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

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

这个问题发生在我生成签名的,有预期的发布版本的时候.在那之前我只运行调试版本.但是,我相信我创建此版本的所有内容都是编辑build.gradle并配置Android Studio以自动签署apks.我已经将更改恢复为build.gradle但问题仍然存在.

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

希望读到这篇文章的人可以提出一些我忽略的改变.

小智 44

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

  • 你知道是什么,我昨晚在弄清了workspace.xml(相当大的文件)并进行更改直到它工作之后才知道这个!每次我进行发布版本(单击Gradle,然后双击assembleRelease)它会更改我的run/debug配置以运行assembleRelease选项.这有什么意义呢?你如何调试assembleRelease任务?这是Android Studio中的错误吗? (2认同)
  • 这不是正确的答案.见http://stackoverflow.com/a/21188221/1459573 (2认同)

sco*_*yab 31

我已经有几个星期的"Socket关闭"错误了,这让我有点生气.今天我发现虽然通过调试图标启动仍然给我一个"Socket关闭",如果我之后附加调试器它工作(截图).希望它能节省别人的时间.

屏幕截图突出显示附加调试器图标


小智 25

我可以通过选择"app"配置来解决这个问题.在上面的屏幕截图中,向下拉动运行按钮左侧可以选择配置.选择一个没有括号.

  • 我认为这应该是公认的答案! (4认同)
  • @Triztian别人告诉我接受哪个答案!不是.它指的是一个屏幕截图"上方"(其中"上方"在网站上没有任何意义,让用户可以按照3个不同的标准对答案进行排序),这只是发布的已接受答案(应用配置)的另一种变体超过7个月前. (3认同)