Почему 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
Ответы
Ответ 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:
Или вручную:
$ adb kill-server
$ adb start-server
$ adb devices
отобразит ваше устройство.
Наконец:
Мои результаты, показанные в bash:
$adb devices
Список подключенных устройств
0123456789ABCDEF-устройство
затем повторите попытку вашего устройства.
или просто перезагрузитесь.
Доказательство:
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 и другие эмуляторы.
Ответ 4
проверьте это
http://developer.android.com/guide/developing/device.html#setting-up
Странно, что alcatel не включен
Ответ 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
Ответ 8
Я использую ArchLinux я Установил этот пакет:
https://aur.archlinux.org/packages.php?ID=51476
он установил все правила, которые мне нужны
подробнее об арке и андроиде:
https://wiki.archlinux.org/index.php/Android
Ответ 9
В вашем устройстве убедитесь, что вы используете свой USB-интерфейс как MTP или PTP. Несколько раз он запускается с интерфейсом массовой памяти по умолчанию, кажется, что adb не получает разрешения на доступ к устройству.