adb никакие полномочия на Ubuntu 17.04

Когда я пробую:

$ adb devices

я получаю результат:

List of devices attached 
????????????    no permissions

в чем проблема?

испытанный машина Ubuntu 16.04 и это работали отлично. попробованный 7.1.1 устройства и это также работали отлично.

48
задан 26 April 2017 в 09:29

13 ответов

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

sudo adb kill-server

и затем

sudo adb start-server

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

adb devices
64
ответ дан 22 November 2019 в 23:53

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

63
ответ дан 22 November 2019 в 23:53

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

1
ответ дан 22 November 2019 в 23:53

Для расширения ответа Sumeet Deshmukh его подход действительно работает в целом - если Вы только хотите использовать эти adb команда от консоли.

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

решение состоит в том, чтобы сначала запустить Studio, затем выполнить запущение/останавливание сервера. Делая это, мне удалось заставить мою Nexus 5X обнаруживаться как допустимая цель выполнения в Studio.

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

2
ответ дан 22 November 2019 в 23:53

Изменение Режима USB от Телефон добилось цели для меня. (Я установил его на Передача файлов .)

2
ответ дан 22 November 2019 в 23:53

M0Rf30/android-udev-rules сообщество GitHub поддержало udev-правила

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

, Это - самый полный список udev-правил, который я видел до сих пор, еще больше, чем в настоящее время рекомендуемый sudo apt-get install android-tools-adb на официальной документации , дайте ему попытку.

1
ответ дан 22 November 2019 в 23:53

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

, Находят, куда adb работает (если Вы похожи на меня, у Вас есть несколько установленных версий). Следует иметь в виду, что инструментам нравится, реагируют, собственный компонент может решить использовать случайные другие версии для создания жизни тяжелее. Для меня это ~/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 November 2019 в 23:53

Удостоверьтесь, что Вы имеете в распоряжении свои правила udev, проверяете /etc/udev/rules.d

, можно найти соответствующие правила здесь: https://raw.githubusercontent.com/M0Rf30/android-udev-rules/master/51-android.rules

Просто размещают их в /etc/udev/rules.d/, затем:

sudo udevadm control --reload
sudo udevadm trigger

Теперь удостоверяются, что adb сервер не работает:

sudo adb kill-server

Добавляют Вашего пользователя к adbusers:

sudo usermod -a -G adbusers $USER

Теперь использование su $USER ( ссылка ) так, чтобы Ваш пользователь на самом деле принадлежал adbusers (проверяют использование groups)

И затем только запускают adb сервер снова:

adb start-server

В случае, если Ваше устройство не появляется в adb devices, повторно подключите его.

0
ответ дан 22 November 2019 в 23:53

Вероятный udev неправильно добавляет Ваше устройство. Я также имел эту проблему и столкнулся с относительно простым решением.

Найдите свое устройство в 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

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

Это может быть решено путем создания нового правила 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 управляет для устройств на базе Android отладки USB - Janos Gyerik

39
ответ дан 22 November 2019 в 23:53

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

0
ответ дан 22 November 2019 в 23:53

НЕ следуйте за решениями, предлагающими использовать sudo (sudo adb start-server) ! Это выполнение adb как корень (администратор) и это, КАК предполагается, не работают как этот!!! Это - ПЛОХОЕ обходное решение!

Все работающее как корень может сделать что-либо в Вашей системе, если это создает, или измените файл, может изменить его разрешение, которое будет только использоваться корнем. Снова, не ДЕЛАЙТЕ!

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

2
ответ дан 22 November 2019 в 23:53

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

# Here the vendor ID is of Google
$ echo 'SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0660", GROUP="plugdev"' | sudo tee —append /etc/udev/rules.d/51-android.rules
$ sudo chmod a+r /etc/udev/rules.d/51-android.rules
$ sudo udevadm control --reload-rules
$ sudo service udev restart

Я также должен был отключить и повторно включить свое устройство на базе Android.

2
ответ дан 22 November 2019 в 23:53

Мне пришлось ответить Пола:

https://askubuntu.com/a/954053/477018

Затем мне пришлось ответить NuttLoos:

https: / /askubuntu.com/a/963967/477018

ЗАТЕМ мне пришлось взять телефон и сменить USB-порт с концентратора на клавиатуру на компьютер: face-palm: (Это Nokia 2.3, которая не будет работать, но Samsung A10 и Galaxy Nexus будут работать от USB-порта Kayboard).

0
ответ дан 29 January 2020 в 13:53

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

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