Обнаружение устройства для отладки (ADB) не работает - PullRequest
29 голосов
/ 26 июня 2011

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

У меня Kubuntu 11.04.

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

michael@schlepptop777:~/.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 все равно не отображает мое устройство:

michael@schlepptop777:~/.android_sdk/platform-tools$ ./adb devices
List of devices attached 
<empty line, because stackoverflow does not display this>

Ответы [ 6 ]

33 голосов
/ 26 июня 2011

В некоторых случаях вам также необходимо добавить идентификатор поставщика в этот файл: ~/.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, поэтому вам, возможно, придется отредактировать егопосле этого.

7 голосов
/ 06 октября 2012

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

ADB для разработчиков Android (ARCHOS Internet Tablet) был полезен, за исключением того, что я сделал это как 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

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

После этого я смог остановить сервер, работающий от имени пользователя 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.Я также отключил Wi-Fi и синхронизацию, но как только он начал работать, adb все равно подключался к тем, кто был включен.

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

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

PS Следующеедень, зная, что все работало прошлой ночью, я загрузил свою систему разработки и попытался снова подключиться.Это дало статус «оффлайн».Я отключил синхронизацию и WiFi, не перезагружая Archos 43, а затем adb devices показывал состояние «устройство» вместо «офлайн».Я не уверен, что с этим делать, но отключение этого материала может иметь значение.

2 голосов
/ 03 мая 2012

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

2 голосов
/ 27 января 2012

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

1 голос
/ 29 июня 2013

На самом деле, так же, как Aultbot, замена кабеля сделала свое дело и для меня.Как ни странно, я несколько часов использовал кабель, когда он неожиданно не работал с ADB.

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

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

0 голосов
/ 26 июня 2011

Я нахожусь на Ubuntu 11.04, единственный способ получить adb для подключения к моему Atrix - это изменить режим подключения USB на «Windows Media Sync».Во-первых, это странно, но особенно странно, потому что ADB на окнах не будет подключаться, если настроен на синхронизацию мультимедиа.Или вы можете использовать беспроводной ADB.Есть пара виджетов, которые позволяют легко включить Wi-Fi ADB.Они показывают IP-адрес на виджете и все.:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...