Когда я пытаюсь:
$ adb devices
я получаю результат:
List of devices attached
???????????? no permissions
в чем проблема?
попробовал на машине с Ubuntu 16.04 и он работал отлично. попробовал устройство 7.1.1, и оно также работало отлично.
android
17.04
android-studio
adb
Надав Ташер
источник
источник
sudo adb devices
. Если это работает отлично, но по памяти, мне не нужно было иметь права root для проверки подключенных устройств.Ответы:
Попробуйте перезапустить сервер Adb.
а потом
затем подключите ваше устройство включите отладку и введите
источник
adb devices
теперь отображается устройство (и я получаю диалоговое окно с отпечатками пальцев). Тем не менее, он все еще не работает с Android Studio. Кроме того, когда я запускаю android studio, а затем запускаюadb devices
из консоли, я получаю «сервер adb устарел» и сервер adb перезагружается. После этого я снова попадаю в ситуацию «без прав».Была такая же проблема. Обеспечение того, что режим USB устройства НЕ заряжается, только решило это.
источник
Очень вероятно, что udev неправильно добавляет ваше устройство. У меня тоже была эта проблема и я нашел относительно простое решение.
Найди свое устройство в lsusb
Интересная точка в этом случае:
Проверьте соответствующий файл устройства
Скорее всего, вы увидите что-то вроде
Это означает, что файл устройства будет принадлежать пользователю root и root группы, поэтому adb может получить к нему доступ как root, но не как ваш обычный пользователь.
Эту проблему можно решить, создав новое правило udev, которое я использовал,
/etc/udev/rules.d/51-android.rules
чтобы добавить устройство в группуplugdev
, в которой adb уже предполагает, что вы являетесь участником (вы должны проверить, используяid
)** Не забудьте заменить ATTR {idProduct} == "4ee7" на свой собственный идентификатор продукта, который вы узнали на первом этапе. ** (Если вашим поставщиком не является Google Inc., также замените идентификатор поставщика на тот, который стоит перед двоеточием в lsusb).
Теперь просто отключите ваше устройство и подключите его снова (udev должен автоматически ответить на новый файл) и tadaa:
Источник: Добавление правил udev для отладки USB-устройств Android - Янош Герик
источник
Чтобы расширить ответ Сумит Дешмукх, его подход в целом работает - если вы хотите использовать
adb
команду только из консоли.Однако Android Studio, по-видимому, запускает собственный сервер adb, убивая наш. Это означает, что после того, как мы убили / запустили сервер с помощью sudo, Studio перезапустит его, что приведет к ситуации запуска - никаких разрешений.
Решение состоит в том, чтобы сначала запустить Studio, а затем выполнить запуск / остановку сервера. После этого мне удалось заставить Nexus 5X отображаться в качестве действительной цели запуска в Studio.
Это не лучшая ситуация (необходимость запускать команды каждый раз при запуске Studio), но она делает свое дело быстро и грязно. Если я найду более постоянное решение, я обновлю этот ответ.
источник
Смена режима USB с телефона сделала свое дело для меня. (Я установил для передачи файлов .)
источник
Пожалуйста, НЕ следуйте решениям, предлагающим использовать
sudo
(sudo adb start-server
)! Это запустить ADB как root (администратор), и он не должен работать так !!! Это плохой обходной путь !Все, что работает с правами root, может делать что угодно в вашей системе, если он создает или изменяет файл, может изменить свое разрешение, чтобы оно использовалось только пользователем root. Опять не надо!
Что нужно сделать это настроить вашу систему , чтобы пользователь имеет разрешения, проверить это руководство я написал о том , как сделать это правильно.
источник
Это не сработало для меня после того, как я добавил себя в
plugdev
группу и перезагрузил компьютер, чтобы убедиться, что изменения вступают в силу во всех моих сеансах оболочки. Затем я обнаружил, что в нем нет51-android.rules
файла,/etc/udev/rules.d
и мне пришлось сделать следующее, чтобы решить проблему:Мне также пришлось отключить и снова подключить устройство Android.
источник
Вам необходимо предоставить разрешение на ваше устройство Android. Перейдите в Настройки> Параметры разработчика. Попробуйте выключить и снова включить Usb Debugging. Удалите кабель и подключите его снова. Также попробуйте удалить все сохраненные авторизации из опций разработчика. Теперь он должен запросить разрешение на отладку с помощью подсказки на вашем телефоне. Принять это.
источник
M0Rf30/android-udev-rules
Сообщество GitHub поддерживает правила udevhttps://github.com/M0Rf30/android-udev-rules/blob/master/51-android.rules
Это самый полный список правил udev, который я когда-либо видел, даже больше, чем рекомендуется
sudo apt-get install android-tools-adb
в официальной документации , попробуйте.источник
Я понятия не имею, почему это работает, но это было единственное решение, которое сработало для меня
Найдите, где работает adb (если вы похожи на меня, у вас установлено несколько версий). Имейте в виду, что такие инструменты, как реагируют на нативную, могут решить использовать другие случайные версии, чтобы сделать вашу жизнь сложнее. Для меня это
~/Android/Sdk/platform-tools/adb
. Итак, я бегу:Инструменты Android очень раздражают.
источник
Перейдите в Настройки >> Обслуживание >> Хранение. Затем проверьте верхнее левое меню и нажмите на USB-подключение к компьютеру, затем измените на медиа-устройство (MTP).
источник
Убедитесь, что у вас есть правила udev, проверьте
/etc/udev/rules.d
Вы можете найти соответствующие правила здесь: https://raw.githubusercontent.com/M0Rf30/android-udev-rules/master/51-android.rules
Просто поместите их
/etc/udev/rules.d/
, затем:Теперь убедитесь, что сервер adb не запущен:
Добавьте своего пользователя в adbusers:
Теперь используйте
su $USER
( ссылку ), чтобы ваш пользователь действительно принадлежалadbusers
(проверьте с помощьюgroups
)А затем просто запустите сервер ADB снова:
Если ваше устройство не отображается в
adb devices
, переподключите его.источник