Команда adb devices не работает

Я запускаю Ubuntu 10.10 64 бит. У меня установлены ia32-libs вместе с Android Debug Bridge версии 1.0.26.

Моя проблема (ы):

  1. adb devices >>> ???????????? Нет разрешений
  2. sudo adb devices >>>> sudo: adb: команда не найдена
  3. adb shell >>> ошибка: недостаточные разрешения для устройства

Наверное, все это связано. Вот соответствующая информация.

 $ echo $PATH /home/me/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/android-sdk-linux_x86/tools:/opt/android-sdk-linux_x86/platform-tools $ which adb /opt/android-sdk-linux_x86/platform-tools/adb $ adb devices * daemon not running. starting it now on port 5037 * * daemon started successfully * List of devices attached ???????????? no permissions $ sudo adb devices sudo: adb: command not found $ adb shell error: insufficient permissions for device 

Я получаю те же результаты с укорененным Moto Droid, работающим на CM6.1, и с корневой G-Tab, на которой работает ROM на базе CM7.

Я рассмотрел следующие связанные должности:

  • http://forum.xda-developers.com/archive/index.php/t-522827.html
  • http://ubuntuforums.org/archive/index.php/t-1164359.html
  • Команда adb не найдена в среде linux

Я пробовал большинство (не всех) предложений, и я не смог решить свою проблему. То, что я не пробовал, казалось неуместным. Я был бы признателен за несколько советов, и я продолжу поиск и устранение неисправностей.

Одна вещь, которую я не пробовал, – редактирование /etc/udev/rules.d/70-android.rules. Возможно, это проблема? Я не вижу, как это может вызвать «sudo: adb: command not found». Возможно, мои проблемы не все связаны. Во всяком случае, на данный момент я думаю, что мне нужен какой-то вклад от других людей, потому что я не верю, что у меня есть проблема пути или другие общие проблемы, обсуждаемые в этих других сообщениях.

EDIT: РЕШЕНИЕ благодаря EboMike и RivieraKid. На самом деле это были две разные проблемы:

  1. Пункт № 2 выше (sudo: adb: команда не найдена) была решена путем создания символической ссылки следующим образом:

     $ sudo ln -s /opt/android-sdk-linux_x86/platform-tools/adb /usr/local/sbin/adb 

    Это позволило мне сделать так, как предложил EboMike и использовать это решение . Это нужно для моего Moto Droid. (Однако выполнение adb как sudo не требуется для моего Viewsonic G-Tablet).

  2. Мои другие два вопроса были решены путем реализации правила udev, предложенного RivieraKid (из этой ссылки ).

Solutions Collecting From Web of "Команда adb devices не работает"

Одна вещь, которую я не пробовал, – редактирование /etc/udev/rules.d/70-android.rules. Возможно, это проблема?

Любая конкретная причина, почему вы этого не сделали? Чтобы ответить на вопрос – ДА! Правила udev – это то, что сообщает Ubuntu, что такое ваше устройство, и позволяет ему обращаться к инструментам пользовательского пространства.

Вы не сможете использовать adb без правильного следования инструкциям .

С учетом этого, однако, вы не говорите, какую версию Ubuntu вы используете, но у меня были проблемы с 10.10 – сообщите мне, если вам нужно, чтобы я опубликовал содержимое моего файла правил.

Не беспокойтесь о запуске adb через sudo, вам это не нужно. MODE="0666" из правила udev позволяет вам получить доступ к устройству в качестве любого пользователя.


РЕДАКТИРОВАТЬ:

Не забудьте перезагрузить правила:

 sudo udevadm control --reload-rules 

EDIT # 2:

Как правильно указывает @Jesse Glick, если adb уже запущен в режиме демона, вам также необходимо перезапустить его для этого:

 sudo adb kill-server 

Я использовал sudo здесь, так как это гарантирует, что adb будет убит, и это официально поддерживаемый метод для остановки сервера. Он будет автоматически перезапущен в следующий раз, когда используется adb, но на этот раз с правильной средой.

Необходимо перезапустить сервер adb с правами root. См. Здесь .

В моей Linux-системе Gentoo / Funtoo у меня возникают аналогичные проблемы:

Я всегда получаю неправильное описание устройства и недостаточные разрешения:

 # sudo ./adb devices List of devices attached ???????????? no permissions # ./adb usb error: insufficient permissions for device 

Для меня помогает руководство Google. В моем случае мне нужно было добавить правило udev:

 # cat /etc/udev/rules.d/51-android.rules SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", GROUP="plugdev" 

И настройка прав файловой системы

 # chmod a+r /etc/udev/rules.d/51-android.rules 

После замены моего смартфона доступ к телефону был успешным, он также появляется в Eclipse «Android Device Chooser:

 # sudo ./adb devices List of devices attached 3XXXXXXXXXXXXXC device # sudo ./adb usb restarting in USB mode 

Вы также должны проверить членство своего пользователя в группе plugdev .

Каждый ответ, который я прочитал, указывает SUBSYSTEM=="usb" . Однако мой (возможно, древний) udev нуждался в этом, чтобы его заменили на DRIVER=="usb" . Наконец, я могу запустить adb-сервер как пользователь без полномочий root … yay.

Можно поучительно посмотреть на выход udevmonitor –env, за которым следует выход

 udevinfo -a -p <DEVICE_PATH_AS_REPORTED_BY-udevmonitor> 

Обратите внимание, что IDE, такие как IntelliJ IDEA, имеют тенденцию запускать собственный adb-сервер.

Даже ручное убийство сервера и запуск нового экземпляра с помощью sudo не помогут здесь, пока вы не сделаете свою среду IDE самой.

Перезагрузка сервера adb, поскольку для меня работал root. видеть:

 derek@zoe:~/Downloads$ adb sideload angler-ota-mtc20f-5a1e93e9.zip loading: 'angler-ota-mtc20f-5a1e93e9.zip' error: insufficient permissions for device derek@zoe:~/Downloads$ adb devices List of devices attached XXXXXXXXXXXXXXXX no permissions derek@zoe:~/Downloads$ adb kill-server derek@zoe:~/Downloads$ sudo adb start-server * daemon not running. starting it now on port 5037 * * daemon started successfully * derek@zoe:~/Downloads$ adb devices List of devices attached XXXXXXXXXXXXXXXX sideload 

Я исправил эту проблему в моей системе debian GNU / Linux, преодолевая системные правила следующим образом:

 mv /etc/udev/rules.d/51-android.rules /etc/udev/rules.d/99-android.rules 

Я использовал содержимое из файлов, связанных по адресу: http://rootzwiki.com/topic/258-udev-rules-for-any-device-no-more-starting-adb-with-sudo/

HTC One m7 работает с новым Cyanogenmod 11.

Телефон подключен к USB и привязывает мое подключение к данным.

Тогда я получаю этот сюрприз:

 cinder@ultrabook:~/temp/htc_m7/2015-11-11$ adb shell error: insufficient permissions for device cinder@ultrabook:~/temp/htc_m7/2015-11-11$ adb devices List of devices attached ???????????? no permissions 

РЕШЕНИЕ: Включите связь на телефоне.

 cinder@ultrabook:~/temp/htc_m7/2015-11-11$ adb devices List of devices attached HT36AW908858 device 

Я просто получил такую ​​же ситуацию, сброс заводских данных сработал для меня.