2010-08-11 2 views
3

===============================Android развития: DDMS из командной строки не видящих устройств

* РЕШИТЬ *: см. ответ ниже

Я не хочу использовать Eclipse.

Из командной строки:

Эмулятор работает. сервер adb запущен. «adb devices» перечислены правильно, и я могу увидеть свой экземпляр на avd в выходном файле.

Однако, когда я вручную запускаю DDMS из командной строки, он просто пытается подключиться. Я не могу найти проблемы с конфигурацией соединений.

Любые предложения (кроме «использования Eclipse») приветствуются!

(да, это работает изнутри затмения и DDMS показывает темы, и т.д.)

система: Debian Squeeze

Обновления: Я побежал обновление в Java-альтернативу, чтобы убедиться Java было настроено для «Java (TM) SE Runtime Environment (сборка 1.6.0_20-b02) ". Не слишком много удивления для опытных пользователей 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 
+0

при попытке DDMS автономно, есть ли у вас затмение DDMS работает, а? (если это так, сначала закройте затмение). ddms не подключается к вашему устройству вообще или не присоединяется к процессу вашего приложения? Вы видите устройство в списке устройств? (или откуда вы видите, что он пытается подключиться?) –

+0

Какую систему я использую? окна? linux? ... – Sephy

+0

ddms из командной строки не видит устройств. Elcipse не работает. Я также перезапустил сервер adb. – RichieHH

ответ

7

Решение в Debian должно заставить java использовать IPv4.

/etc/sysctl.d/bindv6only.conf

net.ipv6.bindv6only = 0 

А потом от Баш

sudo invoke-rc.d procps restart 

Смотрите также Debian bug report для более подробной информации.

+0

Это здорово - у меня была такая же проблема с amd64 squeeze + IcedTea java, ddms не удалось подключиться и запущен вручную * и * в eclipse (индиго 3.7). Теперь он работает правильно. Кстати, мне пришлось использовать IcedTea, иначе андроид sdk терпит неудачу в http-запросах («сеть не найдена») .. но, может быть, я тоже должен повторить это с новой конфигурацией. – redShadow

0

У меня была эта проблема тоже. Я всегда обнаружил, что если вы закроете eclipse первым, прежде чем подключать устройство, запускать эмулятор или запускать ddms, все работает отлично.

Я думаю, что SDK Eclipse связывает соединение и предотвращает доступ ddms к устройству или эмулятору.

+1

eclipse не работает. – RichieHH

6

Добавление этой линии где-то в eclipse.ini помог мне:

-Djava.net.preferIPv4Stack=true 

Название директива говорит само за себя.