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