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

Обнаружение устройства для отладки (ADB) не работает

Я включил USB-отладку на моем Archos 43 Internet Tablet (Android 2.3.26), но adb не обнаружил устройство.

У меня есть Kubuntu 11.04.

Вывод команды оболочки "lsusb":

[email protected]:~/.android_sdk/platform-tools$ lsusb
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
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 002: ID 0e79:1411 Archos, Inc. 
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Итак, мой "Идентификатор поставщика" равен 0e79, не так ли?

Для следующего шага я создал следующий файл:

sudo kate /etc/udev/rules.d/51-android.rules

со следующим содержимым:

SUBSYSTEM=="usb", SYSFS{idVendor}=="0e79", MODE="0666"

После этого я установил разрешения:

sudo chmod a+rx /etc/udev/rules.d/51-android.rules

Затем я сохранил его и перезапустил udev:

sudo /etc/init.d/udev restart

И после выполнения всех этих действий adb все еще не отображает мое устройство:

[email protected]:~/.android_sdk/platform-tools$ ./adb devices
List of devices attached 
<empty line, because stackoverflow does not display this>
4b9b3361

Ответ 1

В некоторых случаях вам также необходимо добавить идентификатор поставщика к этому файлу: ~/.android/adb_usb.ini

# ANDROID 3RD PARTY USB VENDOR ID LIST -- DO NOT EDIT.
# USE 'android update adb' TO GENERATE.
# 1 USB VENDOR ID PER LINE. 
0x0e79

Учтите, что этот файл может быть перезаписан при обновлении SDK, поэтому вам может потребоваться повторно его отредактировать.

Ответ 2

Mageia 2

Сначала я получил что-то вроде:

$ adb devices
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached 

Затем я обнаружил, что мне нужно выполнить настройки | Приложения | Разработка и проверка USB-отладки.

$ adb devices
List of devices attached 
???????????????? no permissions

Попытка как root, я получил:

$ su -l
# adb devices
List of devices attached 
???????????????? no permissions

Тогда я понял, что adb все еще работает как обычный пользователь. Когда, как root, я сделал:

# adb kill-server
# adb devices
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached 
A43-A44C0002-9BF80000-0C60C4CC-0D020027 offline

АБР для Android Developers (интернет-планшет ARCHOS) был полезен, за исключением того, что я сделал это как root:

# cat /etc/udev/rules.d/51-android.rules 
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device",
SUBSYSTEM=="usb", ENV{PRODUCT}=="e79/*", MODE="0666"
SUBSYSTEM=="usb", SYSFS{idVendor}=="e79", MODE="0666"
# udevadm control --reload-rules
# udevadm monitor
.
.
.
^C

Команда монитора была полезна, потому что она показывала, что устройство подключается, отключается, проходит путь и т.д.

Затем я смог остановить работу сервера под управлением root и запустить его как обычный пользователь:

# adb kill-server
# exit
$ adb devices
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached 
A43-A44C0002-9BF80000-0C60C4CC-0D020027 offline

Устройство не будет работать, когда "офлайн". Чтобы исправить это, мне пришлось перезагрузить Archos 43.

$ adb devices
List of devices attached 
A43-A44C0002-9BF80000-0C60C4CC-0D020027 device

Хотя я сомневаюсь, что эти действия были необходимы, чтобы играть в нее безопасно, после перезагрузки я обязательно включил USB и выберет Charge Only, прежде чем я включу USB Debugging. Я также отключил Wi-Fi и Syncing, но после того, как он начал работать, adb все равно будет подключаться к тем, кто находится.

На этом этапе загрузка моего приложения работала:

$ adb install bin/HelloWorld.apk 
2914 KB/s (157589 bytes in 0.052s)
        pkg: /data/local/tmp/HelloWorld.apk
Success

P.S. На следующий день, зная, что все работает накануне, я загрузил свою систему разработки и попытался подключиться снова. Это дало статус "offline". Я отключил синхронизацию и WiFi, не перезагружая Archos 43, а затем adb devices показал статус "устройство" вместо "офлайн". Я не уверен, что с этим делать, но отключение этого материала может иметь значение в конце концов.

Ответ 3

После выполнения команды sudo /etc/init.d/udev restart вам необходимо перезагрузить систему! Я знаю, это похоже на поведение окон, но я сломал голову на 3 часа, прежде чем открывать эту штуку.

Ответ 4

Я позаимствовал кабель с SD-кард-ридера, и он не работал для adb, пока он работал на SD-ридере. Я пробовал новый кабель, и низкоуровневые устройства adb распознают устройство!

Ответ 5

Собственно, точно так же, как Aultbot, замена троса сделала и трюк для меня. Странно, поскольку я использовал кабель в течение нескольких часов, когда он неожиданно не работал с АБР.

Кроме того, убедитесь, что вы принимаете соединение на телефоне (новая функция безопасности в Android 4)

Изменить: В последнее время некоторые проблемы касаются службы adb. Если он не запущен (проверьте с помощью netstat или аналогичного или введите "set ADB_TRACE = 1" перед запуском вашей команды adb, чтобы получить отладочные сообщения), затем проверьте потоки, связанные с этим сообщением об ошибке. Общей проблемой является то, что порт по умолчанию используется некоторым другим приложением (изменить порт, набрав "set ANDROID_ADB_SERVER_PORT = 12345" перед командой adb).

Ответ 6

Я нахожусь на ubuntu 11.04, единственный способ получить adb для подключения к моей Atrix - это изменить режим USB-подключения на "Windows Media Sync". Что странно в первую очередь, но это особенно странно, потому что ADB на windows не будет подключаться, когда он настроится на выигрыш медиа-синхронизации. Или вы можете использовать беспроводной adb. Там есть пара виджетах, которые позволяют легко включить wifi adb. Они отображают IP-адрес в виджетах и ​​все такое.:)