команда adb devices не работает
Я запускаю 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-вкладка с ПЗУ на основе 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.правила. Это, вероятно, будет проблемой? Я не вижу, как это может вызвать "sudo: adb: команда не найдена". Может, не все мои проблемы связаны между собой. В любом случае, на данный момент я думаю, что мне нужно от других людей, потому что я не верю, что у меня есть проблема, пути или другие общие проблемы, обсуждавшиеся на этих других должностях.
EDIT: РЕШЕНО благодаря EboMike и RivieraKid. На самом деле это были две разные проблемы:--6-->
-
пункт #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, однако.)
мои другие два пункта были решены путем реализации правила 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, но на этот раз с правильной средой.
в моей системе 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