Я запускаю 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, на которой работает ROM на CM7.
Я просмотрел следующие связанные сообщения:
Я пробовал больше (не всех) предложений, и я не смог решить свою проблему. То, что я не пробовал, казалось неуместным. Я был бы признателен за несколько советов, и я продолжу поиск и устранение неисправностей.
Одна вещь, которую я не пробовал, - редактирование /etc/udev/rules.d/70-android.rules. Возможно, это проблема? Я не вижу, как это может вызвать "sudo: adb: command not found". Возможно, мои проблемы не все связаны. Во всяком случае, на данный момент я думаю, что мне нужен какой-то вклад от других людей, потому что я не верю, что у меня есть проблема пути или другие общие проблемы, обсуждаемые в этих других сообщениях.
EDIT: SOLVED благодаря EboMike и RivieraKid. На самом деле это были две разные проблемы:
Пункт № 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 (из этой ссылка).
Одна вещь, которую я не пробовал, - это редактирование /etc/udev/rules.d/70-android.rules. Является это может быть проблемой?
Любая конкретная причина, почему вы этого не сделали? Чтобы ответить на вопрос - ДА! Правила udev - это то, что сообщает Ubuntu, что такое ваше устройство, и позволяет инструментам пользовательского пространства обращаться к нему.
Вы не сможете использовать adb, не следуя инструкциям .
С учетом этого, однако, вы не говорите, какую версию Ubuntu вы используете, но у меня были проблемы с 10.10 - сообщите мне, если вам нужно, чтобы я опубликовал содержимое моего файла правил.
Не беспокойтесь о запуске adb через sudo, вам это не нужно. MODE="0666"
из правила udev позволяет вам получить доступ к устройству как к любому пользователю.
EDIT:
Не забудьте перезагрузить правила:
sudo udevadm control --reload-rules
ИЗМЕНИТЬ № 2:
Как правильно указывает @Jesse Glick, если adb уже запущен в режиме демона, вам также потребуется перезапустить его для этого:
sudo adb kill-server
Я использовал sudo здесь, так как это гарантирует, что 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.
В моей Linux-системе Gentoo/Funtoo возникают похожие проблемы:
Я получаю всегда не правильное описание устройства и недостаточные разрешения:
# 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"
. Однако моему (возможно, древнему) удеву понадобилось, чтобы его заменили на DRIVER=="usb"
. Наконец, я могу запустить adb-сервер как пользователь без полномочий root... yay.
Можно поучительно посмотреть на выход udevmonitor --env, за которым следует выход
udevinfo -a -p <DEVICE_PATH_AS_REPORTED_BY-udevmonitor>
udevmonitor
и udevinfo
не существуют на вашем компьютере, используйте udevadm monitor
и udevadm info -a -p ...
перезапуск сервера 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
Обратите внимание, что IDE, такие как IntelliJ IDEA, имеют тенденцию запускать собственный adb-сервер.
Даже ручное убийство сервера и запуск нового экземпляра с помощью sudo не помогут здесь, пока вы не сделаете свою среду IDE самой.
Я исправил эту проблему в моей системе 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
У меня только такая же ситуация, Factory data reset работал хорошо для меня.