Android adb нет разрешения

33

Я пытаюсь использовать ADB с машины Ubuntu (+ Cinnamon). Проблема в том, что я получаю следующее сообщение от устройств adb :

List of devices attached
TA8830OIVO  no permissions

Где TA8830OIVO - мое устройство Motorola G.

Я изменил правила Android в /etc/udev/rules.d/51-android.rules

SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", ATTR{idProduct}=="2e76",
MODE="0666", GROUP="plugdev", SYMLINK+="android_adb", OWNER="axel"

Я также перезапустил службу udev и установку adb на моем персональном ноутбуке. Я единственный пользователь со всеми необходимыми привилегиями (группа plugdev и т. Д.).

Есть ли способ запустить adb без вызова sudo ?

shadox
источник
1
Перезапуск udev и sudo udevadm triggerу меня не сработало. Я должен был перезагрузить компьютер, и тогда он работал просто отлично
Рафаэль Ксавьер

Ответы:

65

Измените режим USB в вашем телефоне на Передача файлов. Вот что сработало для меня.

NuttLoose
источник
Для меня все наоборот: отладка по USB не работает в режиме передачи файлов на некоторых старых устройствах.
Miha_x64
1
Обновление: только что заметил, что в моем телефоне (android one) отладка usb также может быть включена в режиме зарядки в настройках разработчика.
NuttLoose
2
Переход на режим передачи файлов работал для меня. На андроид 7
Абрар
Kindle Fire 8 2019 - «Режим MTP», который находится в конфигурации USB в параметрах разработчика.
Билл МакГонигл
Я изменился, а затем мне предложили на устройстве разрешить отладку по USB: D
Maxwell sc
27
  1. Не забудьте запустить, sudo udevadm triggerчтобы применить изменения (или перезагрузить, но где в этом удовольствие).
  2. Вместо написания ваших собственных правил используйте https://github.com/M0Rf30/android-udev-rules
  3. Убедитесь, что у вас установлена ​​последняя версия ADB (1.0.35 102d0d1e73de-android). Раньше те не работали с USB-C для меня.
zamber
источник
Спасибо, но это старый вопрос. Я перешел на Mac 2 года назад. Я считаю глупым делать такие вещи, как lsusb, а затем изменять правила, когда это должно быть сделано автоматически ... Я сдался после стольких лет использования Ubuntu. Не могу найти приличную систему Linux Desktop.
shadox
1
Вопрос 6 месяцев и до сих пор действителен для потомков. 1 год назад я сбросил OS X после 3-летней истории и вернулся к Linux по тем же причинам;). В Linux есть моменты, в которых он разочаровывает, но в OS X требуется такое же количество поворотов, если вы используете homebrew + zsh + iTerm2. Разница в том, что в основном это закрытые или устаревшие версии FOSS, но с приятным графическим интерфейсом и UX (по большей части). Использование правил репо делает это в основном однократным шагом настройки. Учитывая тайну получения Android SDK для нормальной работы, игра для малышей.
Замбер
1
Запуск этого и service udev restartне работает для меня. Мне пришлось перезагрузить компьютер, и тогда он работал просто отлично.
Рафаэль Ксавьер
В Ubuntu 16.04 установка правил udev, переключение режима usb на телефоне для передачи файлов работало как чудо. Перезагрузка не требуется.
Гаутам
В Ubuntu 16.04 с Pixel 2 добавление правил из gitbub из пункта 2 работает даже без перехода в режим передачи файлов.
Майк Ханафей
3

Если вы перезапустите сервер ADB с помощью sudo, он будет работать.

sudo adb kill-server
sudo adb start-server
Мукеш Барсакле
источник
0

Определите пользовательскую функцию gradle:

task _adb_restart {
def adb = android.getAdbExe().toString()
group '__custom'
  doLast {
    exec {
      commandLine 'bash', '-c', '/bin/echo **root_password** | sudo -S ' + adb + ' kill-server'
    }
    exec {
      commandLine 'bash', '-c', '/bin/echo **root_password** | sudo -S ' + adb + ' devices'
    }
  }
}
user909720
источник
0

Лучшее решение и то, что лучше для меня, это установить adbиз пакета Ubuntu. Это дает вам поддерживаемый сообществом набор udevправил по умолчанию для всех устройств Android.

пример:

$ sudo apt-get install adb
alBaryonic
источник
0

Для Amazon Fire OS 8, ОС на базе Android, вы можете перейти в «Настройки> Параметры устройства> Параметры разработчика». Возможно, вам нужно включить его .

Убедитесь, что «Отладка USB» включена (в вашем случае, это так).

Затем перейдите к «Сеть> Выбор конфигурации USB». Выберите «MTP (Media Transfer Protocol)». Это позволяет компьютеру отправлять файлы туда и обратно.

Джонатан Дж.
источник
0

удалить пакет adb, установленный через apt

$sudo apt remove adb

загрузить последнюю версию adb с сайта
https://developer.android.com/studio/releases/platform-tools

установить путь к инструментам платформы (лучше поместить эти две строки в файл ~ / .bashrc)

export PATH= /<path-to-android-sdk-folder>/android-sdk/tools/bin<br>
export PATH= /<path-to-android-sdk-folder>/android-sdk/platform-tools

бег

$source ~/.bashrc

проверьте путь ADB

$which adb

запустить adb в sudo (мне нужно было указать абсолютный путь к adb при запуске в sudo)

$sudo /<path-to-android-sdk-folder>/android-sdk/platform-tools/adb kill-server
$sudo /<path-to-android-sdk-folder>/android-sdk/platform-tools/adb start-server
$adb shell

СДЕЛАННЫЙ.
он работает независимо от того, какой режим USB (MIDI, передача файлов, зарядка) телефона Android. Это работает во всех.

user1436887
источник