3

================================

*已解决*:请参阅下面的答案

我不想使用 Eclipse。

从命令行:

模拟器正在运行。adb 服务器正在运行。“adb devices”列表正确,我可以在输出中的 avd 上看到我的实例。

但是,当我从命令行手动启动 DDMS 时,它只是一直在尝试连接。我找不到连接配置问题。

欢迎任何建议(“使用 Eclipse”除外)!

(是的,它在 eclipse 中工作,ddms 显示线程等)

系统:Debian 挤压

更新:我运行 update-java-alternatives 以确保为 "Java(TM) SE Runtime Environment (build 1.6.0_20-b02)" 正确设置了 java。对于经验丰富的 Debian 用户来说,我的 Java 现在变得更糟了,这并不意外……当我从命令行运行 ddms 时,我得到:--

(ddms:9326): Gdk-WARNING **: gdk_window_set_icon_list: icons too large
04:29 E/ddms: Failed to reopen debug port for Selected Client to: 8700
04:29 E/ddms: Invalid argument
java.net.SocketException: Invalid argument
    at sun.nio.ch.Net.bind(Native Method)
    at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:119)
    at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:59)
    at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:52)
    at com.android.ddmlib.MonitorThread.reopenDebugSelectedPort(MonitorThread.java:716)
    at com.android.ddmlib.MonitorThread.run(MonitorThread.java:226)

04:29 E/DeviceMonitor: Connection attempts: 1
04:30 E/DeviceMonitor: Connection attempts: 2
04:31 E/DeviceMonitor: Connection attempts: 3
04:32 E/DeviceMonitor: Connection attempts: 4
04:33 E/DeviceMonitor: Connection attempts: 5
04:34 E/DeviceMonitor: Connection attempts: 6
4

4 回答 4

7

解决方案是,在 Debian 中,强制 java 使用 IPv4。

/etc/sysctl.d/bindv6only.conf

net.ipv6.bindv6only = 0

然后从 bash

sudo invoke-rc.d procps restart

另请参阅Debian 错误报告以获取更多详细信息。

于 2010-08-12T19:56:15.647 回答
6

在 eclipse.ini 中的某处添加这一行对我有帮助:

 -Djava.net.preferIPv4Stack=true

指令名称不言自明。

于 2011-05-04T06:22:11.723 回答
0

IPv4 对我不起作用,但将设备插入不同的 USB 端口解决了这个问题(通过Android 设备未显示在 DDMS 中

于 2011-08-13T20:38:02.207 回答
0

我也遇到过这个问题。我一直发现,如果在连接设备、运行模拟器或启动 ddms 之前先关闭 eclipse,一切正常。

我认为 Eclipse SDK 占用了连接并阻止 ddms 访问设备或模拟器。

于 2010-08-11T17:24:43.963 回答