adb no permissions on Ubuntu 17.04

Это вызвано ошибкой регрессии в Startup Disk Creator, которая превратилась в создателя CD-ROM. С 16 апреля они записывали USB-накопитель как CD-ROM iso9660 вместо USB-накопителя. См. Мой ответ здесь для исправления.

Ошибка загрузки блока запуска автозапуска USB

25
задан 26 April 2017 в 19:29

111 ответов

Попробуйте перезагрузить сервер Adb.

sudo adb kill-server

, а затем

sudo adb start-server

затем подключите ваше устройство к включению Debugging и введите

adb devices
19
ответ дан 22 May 2018 в 23:17
  • 1
    Это действительно работает. После этого, действительно, запуск adb devices теперь показывает устройство (и я получаю диалог отпечатка пальца). Однако он все еще не работает с андроид-студией. Кроме того, когда я запускаю студию Android, а затем запускаю adb devices с консоли, я получаю, что «сервер adb устарел»; и сервер adb перезапускается. После этого я перехожу к «без разрешения», ситуация снова. – Shade 17 August 2017 в 22:47

Попробуйте перезагрузить сервер Adb.

sudo adb kill-server

, а затем

sudo adb start-server

затем подключите ваше устройство к включению Debugging и введите

adb devices
23
ответ дан 18 July 2018 в 14:22

Попробуйте перезагрузить сервер Adb.

sudo adb kill-server

, а затем

sudo adb start-server

затем подключите ваше устройство к включению Debugging и введите

adb devices
24
ответ дан 24 July 2018 в 20:23

Попробуйте перезагрузить сервер Adb.

sudo adb kill-server

, а затем

sudo adb start-server

затем подключите ваше устройство к включению Debugging и введите

adb devices
24
ответ дан 31 July 2018 в 10:34

Попробуйте перезагрузить сервер Adb.

sudo adb kill-server

, а затем

sudo adb start-server

затем подключите ваше устройство к включению Debugging и введите

adb devices
24
ответ дан 31 July 2018 в 11:37

Попробуйте перезагрузить сервер Adb.

sudo adb kill-server

, а затем

sudo adb start-server

, затем подключите устройство, чтобы включить Debugging, и введите

adb devices
25
ответ дан 31 July 2018 в 23:26

Попробуйте перезагрузить сервер Adb.

sudo adb kill-server

, а затем

sudo adb start-server

, затем подключите устройство, чтобы включить Debugging, и введите

adb devices
25
ответ дан 2 August 2018 в 18:22

Попробуйте перезагрузить сервер Adb.

sudo adb kill-server

, а затем

sudo adb start-server

, затем подключите устройство, чтобы включить Debugging, и введите

adb devices
25
ответ дан 3 August 2018 в 20:41

Попробуйте перезагрузить сервер Adb.

sudo adb kill-server

, а затем

sudo adb start-server

, затем подключите устройство, чтобы включить Debugging, и введите

adb devices
25
ответ дан 5 August 2018 в 05:23

Попробуйте перезагрузить сервер Adb.

sudo adb kill-server

, а затем

sudo adb start-server

, затем подключите устройство, чтобы включить Debugging, и введите

adb devices
25
ответ дан 6 August 2018 в 22:29

Попробуйте перезагрузить сервер Adb.

sudo adb kill-server

, а затем

sudo adb start-server

, затем подключите устройство, чтобы включить Debugging, и введите

adb devices
26
ответ дан 9 August 2018 в 02:55

Попробуйте перезагрузить сервер Adb.

sudo adb kill-server

, а затем

sudo adb start-server

, затем подключите устройство, чтобы включить Debugging, и введите

adb devices
26
ответ дан 14 August 2018 в 21:10
  • 1
    Это действительно работает. После этого, действительно, запуск adb devices теперь показывает устройство (и я получаю диалог отпечатка пальца). Однако он все еще не работает с андроид-студией. Кроме того, когда я запускаю студию Android, а затем запускаю adb devices с консоли, я получаю, что «сервер adb устарел»; и сервер adb перезапускается. После этого я перехожу к «без разрешения», ситуация снова. – Shade 17 August 2017 в 22:47

Была такая же проблема. Обеспечение того, что режим USB устройства не заряжается, только разрешил его.

18
ответ дан 22 May 2018 в 23:17
  • 1
    То же самое здесь, я изменил правила Udev без каких-либо результатов, изменил USB на общий доступ к файлам и presto. В предыдущей версии ubuntu устройство не требовало никаких правил udev или определенных режимов USB. – Fco P. 22 May 2017 в 09:31
  • 2
    Это должен быть правильный ответ (не сервер повторной загрузки adb) – RumburaK 7 March 2018 в 14:50
  • 3
    Правильный ответ для меня. – Alvaro Gutierrez Perez 28 April 2018 в 09:07

Скорее всего, udev неправильно добавляет ваше устройство. У меня тоже была эта проблема & amp; натолкнулось на относительно простое решение.

Найдите ваше устройство в lsusb

$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 8087:0a2b Intel Corp. 
Bus 001 Device 002: ID 05c8:03a2 Cheng Uei Precision Industry Co., Ltd (Foxlink) 
Bus 001 Device 006: ID 18d1:4ee7 Google Inc.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Точка интереса в этом случае:

Bus 001 Device 006: ID 18d1:4ee7 Google Inc.

Проверьте соответствующий файл устройства

[ f3]

Вероятно, вы увидите что-то вроде

crw-rw-r-- 1 root root 189, 5 Sep  8 21:47 /dev/bus/usb/001/006

Это означает, что файл устройства будет принадлежать пользователю root и корневому файлу группы, поэтому adb может получить к нему доступ как root, но а не как ваш стандартный пользователь.

Это можно решить, создав новое правило udev - я использовал /etc/udev/rules.d/51-android.rules - для добавления устройства в группу plugdev, которую adb уже предполагает, что вы являетесь участником (вы должны быть, проверьте id)

SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee7", MODE="0660", 
GROUP="plugdev", SYMLINK+="android%n"

** Не забудьте заменить ATTR {idProduct} == "4ee7" на свой собственный идентификатор продукта, который вы обнаружили на первом шаге. ** (Если ваш поставщик не является Google Inc., также замените идентификатор поставщика с номером до двоеточия в lsusb).

Теперь просто отключите свое устройство и подключите его обратно (udev должен автоматически отвечать на новый файл) и tadaa:

$ adb devices
List of devices attached 
YC873P0G    device

Источник: добавление правил udev для отладки USB-устройств Android - Янош Гирик

11
ответ дан 22 May 2018 в 23:17
  • 1
    Этот ответ решил мою проблему. Отлично, спасибо. – alexmeia 3 April 2018 в 18:15
  • 2
    Спасибо @Paul Это помогло мне. Хорошо объяснил причину. Я думаю, что также требуется перезапуск службы. – Gagan 18 April 2018 в 13:16

Вам необходимо предоставить разрешение на Android-устройство. Перейдите в Настройки> Параметры разработчика. Попробуйте отключить отладку Usb и снова включить его. Удалите кабель и снова подключите его. Также попробуйте удалить все сохраненные авторизации из параметров разработчика. Теперь он должен запросить разрешение на отладку с помощью подсказки на вашем телефоне. Примите это.

2
ответ дан 22 May 2018 в 23:17
  • 1
    не работает, я уже пробовал, если это имеет значение, я использую android 7.1.2, а на другом устройстве, работающем на 7.1.1, это действительно сработало. – Nadav Tasher 24 April 2017 в 13:17
  • 2
    Пробовал удалить все разрешения хоста? После этого перезагрузились? – Droidzone 24 April 2017 в 13:17
  • 3
    не перезагрузился. я попробую это и скажу вам, если это сработает. – Nadav Tasher 24 April 2017 в 13:22
  • 4
    Если это сработает, вы можете принять ответ. – Droidzone 26 April 2017 в 16:06
  • 5
    сегодня плохо проверить – Nadav Tasher 26 April 2017 в 16:18

Чтобы расширить ответ Sumeet Deshmukh, его подход работает вообще - если вы хотите использовать команду adb с консоли.

Android Studio, однако, по-видимому, запускает собственный сервер adb, убивая наша. Это означает, что после того, как мы убили / запустили сервер с помощью sudo, Studio перезапустит его, что приведет к исходной ситуации - никаких разрешений.

Решение состоит в том, чтобы сначала запустить Studio, а затем выполнить start / stop сервер. Сделав это, мне удалось отобразить Nexus 5X в качестве допустимой целевой задачи запуска в Studio.

Это не лучшая ситуация (при выполнении команд каждый раз, когда вы запускаете Studio), но это делает трюк быстро и грязно. Если я найду более постоянное решение, я обновлю этот ответ.

2
ответ дан 22 May 2018 в 23:17
  • 1
    Большое вам спасибо, хотя это была ошибка, исправленная системным обновлением (по телефону) и обновлением студии. – Nadav Tasher 17 August 2017 в 23:08

Изменение режима USB с телефона сделало трюк для меня. (Я установил его в File Transfer.)

0
ответ дан 22 May 2018 в 23:17

Сообщество GitHub поддерживает udev-rules

https://github.com/M0Rf30/android-udev-rules/blob/master/51-android.rules

Это самый полный список правил udev, который я видел до сих пор, даже больше, чем рекомендуемый в настоящий момент sudo apt-get install android-tools-adb https://github.com/M0Rf30/android-udev-rules/blob/master/51-android. правила , попробуйте.

0
ответ дан 22 May 2018 в 23:17

Я понятия не имею, почему это работает, но это единственное решение, которое сработало для меня

Найдите, где работает adb (если вы похожи на меня, у вас установлено несколько версий). Имейте в виду, что такие инструменты, как реакция native, могут решить использовать случайные другие версии, чтобы сделать вашу жизнь сложнее. Для меня это ~/Android/Sdk/platform-tools/adb. Итак, я запустил:

sudo chown root:YOUR_USERNAME ~/Android/Sdk/platform-tools/adb
sudo chmod 4550 ~/Android/Sdk/platform-tools/adb

Android-инструменты очень раздражают.

0
ответ дан 22 May 2018 в 23:17

Перейдите в Настройки >> Обслуживание >> Хранение. Затем проверьте меню верхнего левого меню и щелкните по USB-соединению компьютера, затем переключитесь на медиа-устройство (MTP).

0
ответ дан 22 May 2018 в 23:17

Пожалуйста, НЕ ИСПОЛЬЗУЙТЕ решения, предлагающие использовать sudo (sudo adb start-server)! Это запустить adb как root (administrator), и он НЕ должен работать так!

Все, выполняемые как root, могут делать что-либо в вашей системе, если оно создает или изменяет файл, может изменить его разрешение, которое будет использоваться только root. Опять же, DO NOT!

НЕ следует решениями, предлагающими использовать sudo , чтобы настроить вашу систему, чтобы ПОЛЬЗОВАТЕЛЬ имел разрешение, ознакомьтесь с этим руководством, которое я написал о том, как это сделать правильно.

0
ответ дан 22 May 2018 в 23:17

Сообщество GitHub поддерживает udev-rules

https://github.com/M0Rf30/android-udev-rules/blob/master/51-android.rules

Это самый полный список правил udev, который я видел до сих пор, даже больше, чем рекомендуемый в настоящий момент sudo apt-get install android-tools-adb https://github.com/M0Rf30/android-udev-rules/blob/master/51-android. правила , попробуйте.

0
ответ дан 18 July 2018 в 14:22

Пожалуйста, НЕ ИСПОЛЬЗУЙТЕ решения, предлагающие использовать sudo (sudo adb start-server)! Это запустить adb как root (administrator), и он НЕ должен работать так!

Все, выполняемые как root, могут делать что-либо в вашей системе, если оно создает или изменяет файл, может изменить его разрешение, которое будет использоваться только root. Опять же, DO NOT!

НЕ следует решениями, предлагающими использовать sudo , чтобы настроить вашу систему, чтобы ПОЛЬЗОВАТЕЛЬ имел разрешение, ознакомьтесь с этим руководством, которое я написал о том, как это сделать правильно.

0
ответ дан 18 July 2018 в 14:22

Вам необходимо предоставить разрешение на Android-устройство. Перейдите в Настройки> Параметры разработчика. Попробуйте отключить отладку Usb и снова включить его. Удалите кабель и снова подключите его. Также попробуйте удалить все сохраненные авторизации из параметров разработчика. Теперь он должен запросить разрешение на отладку с помощью подсказки на вашем телефоне. Примите это.

2
ответ дан 18 July 2018 в 14:22

Перейдите в Настройки >> Обслуживание >> Хранение. Затем проверьте меню верхнего левого меню и щелкните по USB-соединению компьютера, затем переключитесь на медиа-устройство (MTP).

0
ответ дан 18 July 2018 в 14:22

Я понятия не имею, почему это работает, но это единственное решение, которое сработало для меня

Найдите, где работает adb (если вы похожи на меня, у вас установлено несколько версий). Имейте в виду, что такие инструменты, как реакция native, могут решить использовать случайные другие версии, чтобы сделать вашу жизнь сложнее. Для меня это ~/Android/Sdk/platform-tools/adb. Итак, я запустил:

sudo chown root:YOUR_USERNAME ~/Android/Sdk/platform-tools/adb sudo chmod 4550 ~/Android/Sdk/platform-tools/adb

Android-инструменты очень раздражают.

0
ответ дан 18 July 2018 в 14:22

Была такая же проблема. Обеспечение того, что режим USB устройства не заряжается, только разрешил его.

21
ответ дан 18 July 2018 в 14:22

Скорее всего, udev неправильно добавляет ваше устройство. У меня тоже была эта проблема & amp; натолкнулось на относительно простое решение.

Найдите ваше устройство в lsusb

$ lsusb Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 003: ID 8087:0a2b Intel Corp. Bus 001 Device 002: ID 05c8:03a2 Cheng Uei Precision Industry Co., Ltd (Foxlink) Bus 001 Device 006: ID 18d1:4ee7 Google Inc. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Точка интереса в этом случае:

Bus 001 Device 006: ID 18d1:4ee7 Google Inc.

Проверьте соответствующий файл устройства

$ ls -l /dev/bus/usb/001/006

Вероятно, вы увидите что-то вроде

crw-rw-r-- 1 root root 189, 5 Sep 8 21:47 /dev/bus/usb/001/006

Это означает, что файл устройства будет принадлежать пользователю root и корневому файлу группы, поэтому adb может получить к нему доступ как root, но а не как ваш стандартный пользователь.

Это можно решить, создав новое правило udev - я использовал /etc/udev/rules.d/51-android.rules - для добавления устройства в группу plugdev, которую adb уже предполагает, что вы являетесь участником (вы должны быть, проверьте id)

SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee7", MODE="0660", GROUP="plugdev", SYMLINK+="android%n"

** Не забудьте заменить ATTR {idProduct} == "4ee7" на свой собственный идентификатор продукта, который вы обнаружили на первом шаге. ** (Если ваш поставщик не является Google Inc., также замените идентификатор поставщика с номером до двоеточия в lsusb).

Теперь просто отключите свое устройство и подключите его обратно (udev должен автоматически отвечать на новый файл) и tadaa:

$ adb devices List of devices attached YC873P0G device

Источник: добавление правил udev для отладки USB-устройств Android - Янош Гирик

15
ответ дан 18 July 2018 в 14:22

Чтобы расширить ответ Sumeet Deshmukh, его подход работает вообще - если вы хотите использовать команду adb с консоли.

Android Studio, однако, по-видимому, запускает собственный сервер adb, убивая наша. Это означает, что после того, как мы убили / запустили сервер с помощью sudo, Studio перезапустит его, что приведет к исходной ситуации - никаких разрешений.

Решение состоит в том, чтобы сначала запустить Studio, а затем выполнить start / stop сервер. Сделав это, мне удалось отобразить Nexus 5X в качестве допустимой целевой задачи запуска в Studio.

Это не лучшая ситуация (при выполнении команд каждый раз, когда вы запускаете Studio), но это делает трюк быстро и грязно. Если я найду более постоянное решение, я обновлю этот ответ.

2
ответ дан 18 July 2018 в 14:22

Сообщество GitHub поддерживает udev-rules

https://github.com/M0Rf30/android-udev-rules/blob/master/51-android.rules

Это самый полный список правил udev, который я видел до сих пор, даже больше, чем рекомендуемый в настоящий момент sudo apt-get install android-tools-adb https://github.com/M0Rf30/android-udev-rules/blob/master/51-android. правила , попробуйте.

0
ответ дан 24 July 2018 в 20:23

Другие вопросы по тегам:

Похожие вопросы: