Подтвердить что ты не робот

Почему Eclipse и ADB не распознают мое Android-устройство?

Мое устройство - Alcatel OneTouch 890 с Android 2.1. Я настроен в 51-android.rules в rules.d папки /etc/udev.

Моя операционная система - Ubuntu.

Я включил режим отладки usb на своем устройстве.

HTC и устройства Samsung обнаруживают, но не мой Alcatel,

Вот мой файл 51-android.rules.

#HTC
SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE="0666"
SUBSYSTEM=="usb_device", SYSFS{idVendor}=="0bb4", MODE="0666"
#samsung 
SUBSYSTEM=="usb", SYSFS{idVendor}=="04e8", MODE="0666"
SUBSYSTEM=="usb_device", SYSFS{idVendor}=="04e8",ATTRS{idProduct}=="689e", MODE="0666",OWNER="abcd"
#alcatel
SUBSYSTEM=="usb", SYSFS{idVendor}=="1bbb", MODE="0666"
SUBSYSTEM=="usb_device", SYSFS{idVendor}=="1bbb", MODE="0666"


[email protected]:/home/abcd# lsusb
Bus 005 Device 002: ID 0461:4d15 Primax Electronics, Ltd Dell Optical Mouse
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 006: ID 1bbb:00f2 T & A Mobile Phones  // what is T & A in this line....?
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
[email protected]:/home/abcd# Android/android-sdk-linux_86/platform-tools/adb devices
List of devices attached 
4b9b3361

Ответ 1

Сначала проверьте тип котировок, который вы используете в своих правилах udev. Похоже, вы можете использовать двойные кавычки без ASCII. См. Разницу между цитатами вокруг usb и usb_device и т.д.

SUBSYSTEM=="usb", SYSFS{idVendor}=="1bbb", MODE="0666"
SUBSYSTEM=="usb_device", SYSFS{idVendor}=="1bbb", MODE="0666"

Вы также можете просто использовать sudo с ADB, как было предложено @JeremyD. Это делает этот файл существенно неактуальным.

Во-вторых,

  • Изменить ~/.android/adb_usb.ini (или если вы работаете с правами root, отметьте /root/.android)
  • Если файл уже существует, добавьте 0x1bbb в конец; в противном случае: echo 0x1bbb >> adb_usb.ini
  • adb kill-server
  • adb start-server
  • Проверьте вывод adb devices для вашего устройства.

Надеюсь, что это поможет.

Ответ 2

Alcatel OneTouch 891 - Android 2.1

Прочитав эти полезные советы и некоторые другие сообщения об установке Android-устройства, я записал пошаговое руководство, как подготовить устройство.

Отредактируйте строку ~/.android/adb_usb.ini и добавьте строку 0x1bbb внизу.

В этом списке:

$adb devices
Список подключенных устройств
???????????? нет разрешений

Шаги, чтобы заставить его работать:
Добавьте себя в группу
Установите пакет 51-android.rules для своего дистрибутива, затем откройте файл:
/etc/udev/rules.d/51-android.rules

**, если он там отсутствует, укажите файлы пакета и найдите этот файл.

Добавьте следующий раздел в раздел комментариев OneTouch или его название:

SUBSYSTEM=="usb_device", SYSFS{idVendor}=="1bbb", MODE="0666"

Итак, результатом будет:

# Alcatel OneTouch 891
SUBSYSTEM=="usb_device", SYSFS{idVendor}=="1bbb", MODE="0666"

Сохраните файл!
Повторно запустите USB-устройство устройства, затем перезапустите демон adb:
Distro specific:

  • Archlinux

    $rc.d перезапустить adb

  • ubuntu, redhat, fedora, centos

    $service adb restart

Или вручную:

$ adb kill-server
$ adb start-server

$ adb devices

отобразит ваше устройство.

Наконец:

Мои результаты, показанные в bash:

$adb devices
Список подключенных устройств
0123456789ABCDEF-устройство

  • Если все еще нет результатов: выполните следующую команду:

    $udevadm trigger

затем повторите попытку вашего устройства. или просто перезагрузитесь.

Доказательство:


Dalvik:
http://wstaw.org/m/2011/11/13/plasma-desktopos8794.jpg
Диспетчер файлов:
http://wstaw.org/m/2011/11/13/plasma-desktopgt8794.jpg

Ответ 3

Попробуйте убить и запустить сервер adb после закрытия eclipse.

Итак, попробуйте:

  • закрыть eclipse
  • перейти в каталог инструментов-инструментов
  • do: sudo./adb kill-server
  • отключить отладку разработки на вашем телефоне.
  • включить его снова
  • do: sudo./adb start-server
  • do:./adb

Он должен работать. У меня была эта проблема несколько раз, и, делая это, она работала после выполнения инструкций, которые я вам даю.

Надеюсь, это поможет!

EDIT: Это может не работать, так как большинство разработчиков Android перешли на студию Android и другие эмуляторы.

Ответ 5

Для тех, кому было бы интересно узнать перренальное решение для устройств распознавания adb на CentOS, я нашел решение.

Во-первых, запуск adb с правами root не является хорошим решением, поскольку adb может быть перезапущен любым пользователем в любой момент; даже ade auto-restart adb, а затем adb снова ослеп.

Моим решением было создать группу "adb" и добавить пользователя в эту группу. Затем в 51-андроид-правила добавьте GROUP следующим образом:

SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE="0666", GROUP="adb"

Перезагрузите правила udev. Если вы используете сеанс gnome, перезапустите сеанс, потому что gnome хранит кеш в ваших группах...

Откройте новый xterm, убедитесь, что вы принадлежите группе adb: $ groups

Затем $ adb devices должен запустить сервер adb, а затем определить ваши устройства.

Ответ 6

У меня также есть телефон Alcatel, и я решу эту проблему, следуя:

1. #lsusb

Шина 002 Устройство 021: ID 18d1: 0002 Google Inc.//Это мой телефон alcatel

2. Добавьте следующий код в /etc/udev/rules.d/51-android.rules:

SUBSYSTEM == "usb", ATTRS {idVendor} == "18d1", ATTRS {idProduct} == "0002", MODE = "0666"

Примечание. Я заметил, что ожидаемый "idVendor", вам также нужно добавить "idProduct".

3. # sudo service udev restart

4. Включите телефон и снова подключите.

5. # adb devices

Список подключенных устройств

Устройство TCL-Martini

Ответ 7

Я знаю, что принятый ответ работал на OP, но для людей, имеющих эту проблему в будущем, когда вышеупомянутые ответы не работают, для меня работало следующее.

Это универсальное правило udev -

ACTION=="add", SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ENV{ID_USB_INTERFACES}=="*:ff420?:*", MODE="0666"

из этого вопроса - АБР не обнаружил устройство samsung i777 в ubuntu 12.04

Помогло решить эту проблему на телефоне BLU Dash Jr (vendor = Spreadtrum), как упоминалось в моем связанном с этим вопросе здесь:

Spreadtrum (идентификатор поставщика 1782) Проблемы подключения к adb

Ответ 9

В вашем устройстве убедитесь, что вы используете свой USB-интерфейс как MTP или PTP. Несколько раз он запускается с интерфейсом массовой памяти по умолчанию, кажется, что adb не получает разрешения на доступ к устройству.