DDMS - 无法为 Android Studio 上的调试器绑定到本地 8600
DDMS - Can't bind to local 8600 for debugger on Android Studio
我正在尝试使用 Android 设备监视器查看我的数据库表,它向我显示错误,原因我不太确定。而且我没有 DDMS 运行.
的另一个实例
它没有显示我的 DDMS,而是显示了这个错误
[2015-09-10 17:39:53 - ddms] Could not open Selected VM debug port (8700). Make sure you do not have another instance of DDMS or of the eclipse plugin running. If it's being used by something else, choose a new port number in the preferences.
[2015-09-10 17:39:53 - ddms] Can't bind to local 8600 for debugger
[2015-09-10 17:39:53 - ddmlib] Broken pipe
java.io.IOException: Broken pipe
at sun.nio.ch.FileDispatcherImpl.write0(Native Method)
at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47)
at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93)
at sun.nio.ch.IOUtil.write(IOUtil.java:65)
at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:487)
at com.android.ddmlib.JdwpPacket.writeAndConsume(JdwpPacket.java:213)
at com.android.ddmlib.Client.sendAndConsume(Client.java:677)
at com.android.ddmlib.HandleHeap.sendREAQ(HandleHeap.java:349)
at com.android.ddmlib.Client.requestAllocationStatus(Client.java:523)
at com.android.ddmlib.DeviceMonitor.createClient(DeviceMonitor.java:847)
at com.android.ddmlib.DeviceMonitor.openClient(DeviceMonitor.java:815)
at com.android.ddmlib.DeviceMonitor.processIncomingJdwpData(DeviceMonitor.java:775)
at com.android.ddmlib.DeviceMonitor.deviceClientMonitorLoop(DeviceMonitor.java:664)
at com.android.ddmlib.DeviceMonitor.access0(DeviceMonitor.java:46)
at com.android.ddmlib.DeviceMonitor.run(DeviceMonitor.java:592)
拜托,有人知道解决这个问题的办法吗???
尝试从 terminal
杀死 adb server
和 restarting the adb server
。
adb kill-server
adb start-server
同样在您的移动设备上,切换 USB 调试。
当我遇到这个问题时,这两个组合对我有用。
您还可以考虑使用 Stetho by Facebook,您可以使用 Stetho
查看您的数据库以及 运行 查询。 Stetho
还可以让您观看网络通话、查看您的视图层次结构等。
一个类似的问题帮助我在这里解决了这个问题:
通过在 Android Studio 中打开 DDMS,我可以绑定和监控我的 android 设备,不再有管道损坏或端口冲突。
只需按照以下步骤从 android studio 中打开 DDMS:
Select 工具 > Android > Android 设备监视器
我只能假设 AS 静默运行 DDMS 实例,因为当 AS 关闭时,手动打开 DDMS 没有问题。只有当 AS 为 运行 时,我才能在 运行 来自 CLI
的 DDMS 时得到此信息
如果将您的网络应用程序转换为 android 应用程序。
如果你这样给你的 url : localhost:xxxx/abc/xx
然后它会产生问题,因为您的本地主机端口和模拟器端口不同。 您正在使用模拟器,它像计算机中的单独设备一样工作。
所以朋友们使用 IP 地址而不是本地主机,它会工作...101% 工作我确定
对于 osx 用户
是的,您需要重新启动 adb。只需重新启动 android studio 即可。如果还是不行,通过这个
强制杀掉8600端口的线程
[sudo] lsof -i :8600
然后对于PID
kill -9 <PID>
在 Mac 上,打开终端并输入:
sudo nano /etc/hosts
将以下行添加到您的主机文件
127.0.0.1 localhost
保存并退出。
在AndroidStudio中,您可以再次开始调试。我遇到了同样的问题,最后我做了上面的事情,问题解决了。
希望这对您有所帮助 :) .
对我有用的是重新启动计算机。我认为这是在强制退出 Android Studio 之后发生的。
我正在尝试使用 Android 设备监视器查看我的数据库表,它向我显示错误,原因我不太确定。而且我没有 DDMS 运行.
的另一个实例它没有显示我的 DDMS,而是显示了这个错误
[2015-09-10 17:39:53 - ddms] Could not open Selected VM debug port (8700). Make sure you do not have another instance of DDMS or of the eclipse plugin running. If it's being used by something else, choose a new port number in the preferences.
[2015-09-10 17:39:53 - ddms] Can't bind to local 8600 for debugger
[2015-09-10 17:39:53 - ddmlib] Broken pipe
java.io.IOException: Broken pipe
at sun.nio.ch.FileDispatcherImpl.write0(Native Method)
at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47)
at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93)
at sun.nio.ch.IOUtil.write(IOUtil.java:65)
at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:487)
at com.android.ddmlib.JdwpPacket.writeAndConsume(JdwpPacket.java:213)
at com.android.ddmlib.Client.sendAndConsume(Client.java:677)
at com.android.ddmlib.HandleHeap.sendREAQ(HandleHeap.java:349)
at com.android.ddmlib.Client.requestAllocationStatus(Client.java:523)
at com.android.ddmlib.DeviceMonitor.createClient(DeviceMonitor.java:847)
at com.android.ddmlib.DeviceMonitor.openClient(DeviceMonitor.java:815)
at com.android.ddmlib.DeviceMonitor.processIncomingJdwpData(DeviceMonitor.java:775)
at com.android.ddmlib.DeviceMonitor.deviceClientMonitorLoop(DeviceMonitor.java:664)
at com.android.ddmlib.DeviceMonitor.access0(DeviceMonitor.java:46)
at com.android.ddmlib.DeviceMonitor.run(DeviceMonitor.java:592)
拜托,有人知道解决这个问题的办法吗???
尝试从 terminal
杀死 adb server
和 restarting the adb server
。
adb kill-server
adb start-server
同样在您的移动设备上,切换 USB 调试。 当我遇到这个问题时,这两个组合对我有用。
您还可以考虑使用 Stetho by Facebook,您可以使用 Stetho
查看您的数据库以及 运行 查询。 Stetho
还可以让您观看网络通话、查看您的视图层次结构等。
一个类似的问题帮助我在这里解决了这个问题:
通过在 Android Studio 中打开 DDMS,我可以绑定和监控我的 android 设备,不再有管道损坏或端口冲突。
只需按照以下步骤从 android studio 中打开 DDMS: Select 工具 > Android > Android 设备监视器
我只能假设 AS 静默运行 DDMS 实例,因为当 AS 关闭时,手动打开 DDMS 没有问题。只有当 AS 为 运行 时,我才能在 运行 来自 CLI
的 DDMS 时得到此信息如果将您的网络应用程序转换为 android 应用程序。
如果你这样给你的 url : localhost:xxxx/abc/xx 然后它会产生问题,因为您的本地主机端口和模拟器端口不同。 您正在使用模拟器,它像计算机中的单独设备一样工作。
所以朋友们使用 IP 地址而不是本地主机,它会工作...101% 工作我确定
对于 osx 用户
是的,您需要重新启动 adb。只需重新启动 android studio 即可。如果还是不行,通过这个
强制杀掉8600端口的线程[sudo] lsof -i :8600
然后对于PID
kill -9 <PID>
在 Mac 上,打开终端并输入:
sudo nano /etc/hosts
将以下行添加到您的主机文件
127.0.0.1 localhost
保存并退出。
在AndroidStudio中,您可以再次开始调试。我遇到了同样的问题,最后我做了上面的事情,问题解决了。
希望这对您有所帮助 :) .
对我有用的是重新启动计算机。我认为这是在强制退出 Android Studio 之后发生的。