команда 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-вкладка с ПЗУ на основе CM7.

я рассмотрел следующие сообщения:

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

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

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

  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 (из этого ссылке).

9 ответов


одна вещь, которую я не пытался редактировать файл /etc/udev из/правил.d / 70-android.правила. Есть это, вероятно, будет проблемой?

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

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

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

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


EDIT:

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

sudo udevadm control --reload-rules

EDIT #2:

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

sudo adb kill-server

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


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


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

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

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

для меня помогает howto из 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 Устройство Выбора:

# 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>

обратите внимание, что IDEs нравится 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

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