Я использую Ubuntu 10.10 64 бит. У меня установлен ia32-libs вместе с Android Debug Bridge версии 1.0.26.
Моя проблема (ы):
adb devices
>>> ???????????? нет разрешенийsudo adb devices
>>>> sudo: adb: команда не найдена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 с ПЗУ на основе 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». Может быть, не все мои проблемы связаны. В любом случае, на данный момент я думаю, что мне нужен какой-то вклад от других людей, потому что я не верю, что у меня есть проблема с путями или другие общие проблемы, обсуждаемые в этих других сообщениях.
РЕДАКТИРОВАТЬ: РЕШЕНО благодаря EboMike и RivieraKid. На самом деле это были две разные проблемы:
Пункт 2 выше (sudo: adb: command not found) был решен путем создания символической ссылки следующим образом:
$ sudo ln -s /opt/android-sdk-linux_x86/platform-tools/adb /usr/local/sbin/adb
Это позволило мне сделать то, что предложил EboMike, и использовать это решение . Это требовалось для моего мото-дроида. (Однако запуск adb как sudo для моего Viewsonic G-Tablet не требовался.)
Два других моих вопроса были решены путем реализации правила udev, как предлагал RivieraKid (из этой ссылки ).
Ответы:
Какая-то конкретная причина, по которой вы этого не сделали? Чтобы ответить на вопрос - ДА! Правила udev - это то, что информирует Ubuntu о вашем устройстве и позволяет инструментам пользовательского пространства получать к нему доступ.
Вы не сможете пользоваться adb без правильного следования инструкциям .
Имея это в виду, вы не говорите, какую версию Ubuntu вы используете, но у меня были проблемы с 10.10 - дайте мне знать, если вам нужно, чтобы я опубликовал содержимое моего файла правил.
Не беспокойтесь о запуске adb через sudo, он вам не нужен.
MODE="0666"
Из правила Udev позволяет получить доступ к устройству любого пользователя.РЕДАКТИРОВАТЬ:
Не забудьте перезагрузить правила:
sudo udevadm control --reload-rules
РЕДАКТИРОВАТЬ № 2:
Как правильно указывает @Jesse Glick, если adb уже работает в режиме демона, вам также необходимо перезапустить его, чтобы это работало:
sudo adb kill-server
Я использовал sudo здесь, поскольку это гарантирует, что adb будет убит, и это официально поддерживаемый метод остановки сервера. Он будет автоматически перезапущен при следующем использовании adb, но на этот раз с правильной средой.
источник
adb
демон, если он работал раньше.Вам необходимо перезапустить сервер adb как root. Смотрите здесь .
источник
me@desktop:/opt/android-sdk-linux_x86/platform-tools$ sudo adb kill-server sudo: adb: command not found me@desktop:/opt/android-sdk-linux_x86/platform-tools$ adb kill-server me@desktop:/opt/android-sdk-linux_x86/platform-tools$ sudo adb start-server sudo: adb: command not found
adb
не стоит на пути вашего суперпользователя. Введите,which adb
чтобы узнать, по какому пути он находится, затем добавьте это в путь root.В моей системе Gentoo / Funtoo linux у меня возникают аналогичные проблемы:
Я всегда получал не правильное описание устройства и недостаточные разрешения:
# 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 ... ура.Может быть поучительно посмотреть на вывод udevmonitor --env, за которым следует вывод
udevinfo -a -p <DEVICE_PATH_AS_REPORTED_BY-udevmonitor>
источник
udevmonitor
иudevinfo
не существует на вашей машине, использованиеudevadm monitor
иudevadm info -a -p ...
вместо этого.Обратите внимание, что 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, переопределив системные правила таким образом:
Я использовал содержимое из файлов, связанных по адресу: 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
источник
У меня точно такая же ситуация, сброс заводских данных у меня сработал.
источник