Eclipse: Android Device Chooser - Неизвестный Android 2.3.4 Устройство

У меня есть телефон Nexus One под управлением Android 2.3.4. Я пытаюсь создать приложение, используя открытую внешнюю библиотеку USB. Для этого я выбрал Google API 10 как цель сборки. Проект на самом деле является приложением Microchip, которое я знаю, работает на этом устройстве. Я установил APK приложения на телефон вручную, и он работает. Теперь я хочу иметь возможность отлаживать и изменять приложение.

Когда я нажимаю кнопку "Выполнить", наступает время выбора платформы. В окне "Выбор устройства Android" появилось следующее: Nexus One подключен:

Android Device Chooser

Любые идеи?

Спасибо,

EDIT: Я работаю в среде разработки Linux. В частности, Fedora 14.

Ответ 1

Решением было создание правила udev для устройства. См. http://developer.android.com/guide/developing/device.html#setting-up для настройки правила udev для вашего конкретного устройства-поставщика.

С правилом на месте. Eclipse смог запустить и отладить.

device

Ответ 2

Предположим, вы находитесь в Linux: Вероятно, неправильные устройства - node. Проверьте, действительно ли это:

adb kill-server
sudo adb start-server
adb devices 

на вашем компьютере. Это запускает adb-сервер как root. Если эта работа и не работает, если вы не используете sudo, у вас есть проблема с разрешением.

Решение зависит от вашего дистрибутива и установленных вами версий. эта запись в блоге, в которой объясняется, как сгенерировать файл udev для Ubuntu.

Ответ 3

Возможно также, что нет идентификатора поставщика USB для Nexus One, где Nexus One появляется как "?????????", в adb/Eclipse. Поэтому, если вы хотите, чтобы это распознавалось, вам необходимо выполнить следующие действия:

1.  Follow the instructions at  http://developer.android.com/guide/developing/device.html
2.  Replace the vendor id of "0bb4″ with "18d1″ in /etc/udev/rules.d/51-android.rules. 
    Or add another line that reads:
        SUBSYSTEM=="usb", SYSFS{idVendor}=="18d1", MODE="0666"
3. restart computer or just "sudo service udev restart"

Ответ 4

Скопируйте этот файл в /etc/udev/rules.d/

и переименуйте в "51-android.rules" и добавьте разрешение chmod a + r

#/etc/udev/rules.d/51-android.rules

#Acer
SUBSYSTEM=="usb", ATTR{idVendor}=="0502", MODE="0666", GROUP="plugdev"

#ASUS
SUBSYSTEM=="usb", ATTR{idVendor}=="0b05", MODE="0666", GROUP="plugdev"

#Dell
SUBSYSTEM=="usb", ATTR{idVendor}=="413c", MODE="0666", GROUP="plugdev"

#Foxconn
SUBSYSTEM=="usb", ATTR{idVendor}=="0489", MODE="0666", GROUP="plugdev"

#Garmin-Asus
SUBSYSTEM=="usb", ATTR{idVendor}=="091e", MODE="0666", GROUP="plugdev"

#Google
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", GROUP="plugdev"

#HTC
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666", GROUP="plugdev"

#Huawei
SUBSYSTEM=="usb", ATTR{idVendor}=="12d1", MODE="0666", GROUP="plugdev"

#K-Touch
SUBSYSTEM=="usb", ATTR{idVendor}=="24e3", MODE="0666", GROUP="plugdev"

#KT Tech
SUBSYSTEM=="usb", ATTR{idVendor}=="2116", MODE="0666", GROUP="plugdev"

#Kyocera
SUBSYSTEM=="usb", ATTR{idVendor}=="0482", MODE="0666", GROUP="plugdev"

#Lenevo
SUBSYSTEM=="usb", ATTR{idVendor}=="17ef", MODE="0666", GROUP="plugdev"

#LG
SUBSYSTEM=="usb", ATTR{idVendor}=="1004", MODE="0666", GROUP="plugdev"

#Motorola
SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", MODE="0666", GROUP="plugdev"

#NEC
SUBSYSTEM=="usb", ATTR{idVendor}=="0409", MODE="0666", GROUP="plugdev"

#Nook
SUBSYSTEM=="usb", ATTR{idVendor}=="2080", MODE="0666", GROUP="plugdev"

#Nvidia
SUBSYSTEM=="usb", ATTR{idVendor}=="0955", MODE="0666", GROUP="plugdev"

#OTGV
SUBSYSTEM=="usb", ATTR{idVendor}=="2257", MODE="0666", GROUP="plugdev"

#Pantech
SUBSYSTEM=="usb", ATTR{idVendor}=="10a9", MODE="0666", GROUP="plugdev"

#Pegatron
SUBSYSTEM=="usb", ATTR{idVendor}=="1d4d", MODE="0666", GROUP="plugdev"

#Philips
SUBSYSTEM=="usb", ATTR{idVendor}=="0471", MODE="0666", GROUP="plugdev"

#PMC-Sierra
SUBSYSTEM=="usb", ATTR{idVendor}=="04da", MODE="0666", GROUP="plugdev"

#Qualcomm
SUBSYSTEM=="usb", ATTR{idVendor}=="05c6", MODE="0666", GROUP="plugdev"

#SK Telesys
SUBSYSTEM=="usb", ATTR{idVendor}=="1f53", MODE="0666", GROUP="plugdev"

#Samsung
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", MODE="0666", GROUP="plugdev"

#Sharp
SUBSYSTEM=="usb", ATTR{idVendor}=="04dd", MODE="0666", GROUP="plugdev"

#Sony
SUBSYSTEM=="usb", ATTR{idVendor}=="054c", MODE="0666", GROUP="plugdev"

#Sony Ericsson
SUBSYSTEM=="usb", ATTR{idVendor}=="0fce", MODE="0666", GROUP="plugdev"

#Teleepoch
SUBSYSTEM=="usb", ATTR{idVendor}=="2340", MODE="0666", GROUP="plugdev"

#Toshiba
SUBSYSTEM=="usb", ATTR{idVendor}=="0930", MODE="0666", GROUP="plugdev"

#ZTE
SUBSYSTEM=="usb", ATTR{idVendor}=="19d2", MODE="0666", GROUP="plugdev"

Ответ 5

Вы можете ввести sdk/platform-tools и запустить с помощью su в Ubuntu. Затем запустите и перезапустите службу adb.

Теперь имя устройства можно распознать.

Ответ 6

Пробовал все выше, никто не работал. Наконец, работал, когда я переключался с MTP на камеру (PTP).

Ответ 7

Попробуйте следующее:

./adb kill-server &&
sudo ./adb devices

Ответ 8

Установите http://pdanet.co/

затем снова подключите ваше устройство.... тогда он попросит вас принять какой-то сертификат или что-то в этом роде.... нажмите ok

Готово!: D