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 ?


1
Перезапустив udev і sudo udevadm triggerне працював для мене. Мені довелося перезапустити комп’ютер, і тоді він спрацював чудово
Рафаель Ксав’є

Відповіді:


65

Змініть режим USB у телефоні на Передача файлів. Ось що для мене спрацювало.


Для мене справедливо навпаки: налагодження USB не працює в режимі передачі файлів на деяких старих пристроях.
Miha_x64

1
Оновлення: щойно помітив, що в моєму телефоні (на Android) налагодження usb також може бути ввімкнено в режимі зарядки в налаштуваннях розробника.
NuttLoose

2
Зміна режиму передачі файлів працювала для мене. На android 7
Abrar

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 для мене.

Дякую, але це щось старе питання. Я перейшов на Mac 2 роки тому. Мені здається дурним робити такі речі, як lsusb, а потім змінювати правила, коли це потрібно робити автоматично ... Я відмовився після стількох років використання ubuntu. Не вдається знайти гідну систему Linux Desktop.
shadox

1
Питання - 6 місяців і все ще справедливий для нащадків. 1 рік тому я скинув OS X після справи 3y і з подібних причин повернувся до Linux;). У Linux є частини, де це засмучується, але в OS X потрібна така ж кількість майстерності, якщо ви використовуєте домашню мову + 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'
    }
  }
}

0

Найкраще рішення і те, що для мене працювало краще, - це встановити adbз пакету Ubuntu. Це дає набір udevправил, які підтримуються спільнотою за замовчуванням для всіх пристроїв Android.

приклад:

$ sudo apt-get install adb

0

Для Amazon Fire OS 8, ОС на базі ОС Android, ви можете перейти до "Налаштування> Параметри пристрою> Параметри розробника". Можливо, вам потрібно ввімкнути це .

Переконайтесь, що "Налагодження USB" увімкнено (у вашому випадку це так).

Потім перейдіть до "Мережі> Виберіть конфігурацію USB". Виберіть "MTP (протокол передачі медіа)". Це дозволяє комп'ютеру надсилати файли назад і назад.


0

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

$sudo apt remove 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

start adb in 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 телефону. Це працює у всіх.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.