Eclipse: Android Device Chooser - неизвестное устройство Android 2.3.4 - PullRequest
26 голосов
/ 14 сентября 2011

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

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

Android Device Chooser

Есть идеи?

Спасибо

РЕДАКТИРОВАТЬ: я работаю в среде разработки Linux. Конкретно Fedora 14.

Ответы [ 8 ]

27 голосов
/ 14 сентября 2011

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

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

device

12 голосов
/ 14 сентября 2011

Предположим, вы работаете в Linux: ваши права доступа к узлу устройства, скорее всего, неверны.Проверьте, верно ли это, введя:

adb kill-server
sudo adb start-server
adb devices 

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

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

4 голосов
/ 14 сентября 2011

Возможно также, что для Nexus One нет идентификатора USB-производителя, где 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"
2 голосов
/ 01 ноября 2013

Скопируйте этот файл в /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"
1 голос
/ 01 апреля 2015

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

1 голос
/ 02 июня 2012

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

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

0 голосов
/ 24 июня 2015

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

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

Готово! : D

0 голосов
/ 06 февраля 2013

Попробуйте это:

./adb kill-server &&
sudo ./adb devices
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...