В списке устройств ADB не отображается телефон

Я недавно установил adb и fastboot:

apt-get install android-tools-adb android-tools-fastboot

После завершения установки я подключил свое устройство и выполнил следующую команду:

$ adb devicesList of devices attached

Я включил отладку в настройках телефона.

Я думаю, что делаю это неправильно - я не знаю. Пожалуйста, объясните мне правильный процесс.

Использование Ubuntu 16.01. Устройство: Ю Юфория

Обновление правка:

После всех неудачных попыток он все еще не обнаружен в adb.Однако в fastboot режим, добавляя команду vendor id для моего устройства, fastboot -i 0x2a96 devices как уже упоминалось здесь работает

fastboot -i 0x2a96 devices

возвращенный

7dd91912        fastboot

Другие команды в fastboot режим, как указано на той же странице, упомянутой выше, также работает, когда была добавлена опция команды идентификатора поставщика.

Попробуй пройти бота-учителя. Он научит тебя Linux в виде игры: Курсы Linux и DevOPS Бесплатный урок

Наконец-то устройство было обнаружено в adb под adb devices команда путем перезапуска сервера adb с правами root, как указано выше здесь в Диагностика adb раздел.

sudo adb kill-serversudo adb start-server

После этого adb devices возвращенный

7dd91912      unauthorized

с подсказкой на устройстве для авторизации RSA. После авторизации

adb devices теперь возвращается

72291912      device

Попробуй пройти бота-учителя. Он научит тебя Linux в виде игры: Курсы Linux и DevOPS Бесплатный урок

Вы установили adb запрограммируйте правильно. Отладка Android по умолчанию не активирована. Опция активации скрыта. Вам нужно будет раскрыть его с помощью следующих шагов:

Идти к Настройки> - О телефоне> - (прокрутите до) Номер сборки>> - (Нажмите на него около 7 раз) - (Вы должны получить уведомление Вы включили параметры разработки)

Теперь у вас появится новый пункт меню в настройках под названием Параметры разработчика.

Перейдите в эту опцию и включите Отладка по USB вариант.

Теперь, когда вы подключите USB-кабель к компьютеру, вы получите приглашение Авторизовать подключенный компьютер.

После включения отладки вам, возможно, придется перезапустить сервер. Вы можете сделать это с помощью следующих команд:

$ adb kill-server$ adb start-server

Убедитесь, что у вас есть хороший USB-кабель и вы подключены к хорошему порту. Это всегда была проблема, с которой я сталкивался при использовании ADB и fastboot. Также убедитесь, что вы обновили и установили последние версии драйверов ADB.

Как настроить обнаружение устройств в Ubuntu Linux:

С помощью sudo, создайте этот файл: /etc/udev/rules.d/51-android.rules.

Используйте этот формат для добавления каждого поставщика в файл:

SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666", GROUP="plugdev"

В этом примере идентификатор поставщика указан для HTC. Назначение РЕЖИМА определяет разрешения на чтение/запись, а ГРУППА определяет, какой группе Unix принадлежит узел устройства.

Если вы не знаете свой идентификатор поставщика, вы можете получить это из lsusb, это строка после идентификатора. Если lsusb не сообщает о вашем устройстве, попробуйте проверить grep USB /var/log/kern.log | less для идентификатора поставщика (например, строка New USB device found, idVendor=1bbb, idProduct=0167).

После того, как вы создали/обновили 51-android.rules файл, выполнить:

sudo chmod a+r /etc/udev/rules.d/51-android.rules

Жильберто Альбино дал мне ключ к разгадке.
Никто не говорит вам, что некоторые USB-кабели хороши только для зарядки устройств, а не для передачи данных. Вы должны выяснить, что у вас есть для себя.
Я думаю, что кабели только для зарядки тоньше.

У меня была та же проблема, и, перепробовав все вуду, доступные в Интернете, я сам обнаружил, что устройство распознается только по USB-кабелю производителя, который прилагается к устройству.

Я еще не уверен, почему это происходит, но с моим тестовым устройством это распознается только в том случае, если я принимаю временно запрос на отладку. Если я поставлю галочку "всегда разрешать с этого компьютера", он исчезнет с adb devices.

Включите отладку по USB на устройстве

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

Идентифицировать устройство

Сначала нам нужно знать, как устройство идентифицируется по шине USB. Для этого с помощью устройства Android НЕ подключившись, возьмите оболочку и запустите команду lsusb. Затем подключите устройство и снова запустите команду. Найдите новую строку. Для Уайлиф Свифт это "безымянное устройство";:

Bus 004 Device 003: ID 2970:2282

Настройка правил для АБР

Теперь нам нужны цифры в конце приведенной выше строки: 2970:2282. В них указывается поставщик (2970) и само устройство (2282). Имея эти детали, нам нужен корень оболочку на нашей машине Linux для редактирования (или создания, если она еще не существует) /etc/udev/rules.d/51-android.rules файл. Там добавьте строку для вашего устройства. Следующая строка примера показывает, как она выглядит для Уайлиф Свифт:1

SUBSYSTEMS=="usb", ATTRS{idVendor}=="2970", ATTRS{idProduct}=="2282", MODE="0666" GROUP="androiddev", SYMLINK+="android%n"

Если у вас другое устройство, замените идентификаторы поставщика и продукта на те, которые вы нашли выше при запуске lsusb. Краткое объяснение строки:

  • SUBSYSTEMS=="usb": очевидно, что это правило предназначено только для USB ;)
  • ATTRS{idVendor}=="2970": идентификатор поставщика устройства, для которого предназначено это правило.
  • ATTRS{idProduct}=="2282": идентификатор устройства
  • MODE="0666": разрешения, которые должен получить узел устройства. 0666 является довольно слабым, предоставляя каждому пользователю в вашей системе разрешение на чтение и запись, поэтому, если вы обеспокоены, вы можете попробовать заменить это на 0660 (предоставляя только владельцу и группе чтение-запись и запрещая все другим).
  • GROUP="androiddev": к какой группе должен принадлежать узел устройства. Это должна быть группа, к которой принадлежат пользователи, предназначенные для работы с устройством.
  • SYMLINK+="android%n": просто чтобы дать узлу красивое имя, чтобы вам было легче найти его в /dev (в моем случае это позже появилось там как /dev/android5)

Это правило, введенное в /etc/udev/rules.d/51-android.rules, мы должны сказать udev чтобы использовать его. Самый безопасный способ (рядом с перезагрузкой ;) - это перезапуск udev обслуживание. В зависимости от вашего дистрибутива Linux это можно сделать либо с помощью service udev restart или /etc/init.d/udev restart.

Сделав это, оставьте корневую оболочку. Отключите и снова подключите свое Android-устройство, попробуйте adb devices снова. Сейчас появилось большинство устройств, но не Уайлиф Свифт – который, очевидно, хочет дополнительных объятий. Если вы находитесь в такой ситуации, откройте (или создайте, если он не существует) файл ~/.android/adb_usb.ini и добавьте к нему одну строку, указав поставщика, с которым вы познакомились lsusb выше; для Быстрый это было бы 0x2970 (да, здесь вам нужно добавить к нему префикс 0x чтобы указать, что это шестнадцатеричное число). Затем перезапустите сервер ADB: adb kill-server && adb start-server. Отключите и снова подключите устройство. Сейчас adb devices должен это увидеть.

Подключение устройства

Возможно, вы заметили adb devices сказал тебе что-то вроде 0123456789ABCDEF unauthorized. Это нормально и для вашей (устройств) безопасности: сначала ваш компьютер должен быть авторизован, чтобы иметь возможность получить доступ к устройству. Так просто выдать adb shell теперь – который будет завершен с помощью error: device unauthorized. Please check the confirmation dialog on your device. Следуйте этому совету (при необходимости установите флажок для постоянной авторизации вашего компьютера), и все готово: теперь вы можете использовать абр чтобы получить доступ к вашему устройству.


Обновления:

1 Обратите внимание, что в более поздних версиях Linux синтаксис правил UDEV немного изменился, например jcomeau_ictx указано в его комментарии. Для значений, которые мы нашли выше, это было бы:

SUBSYSTEM=="usb", ATTR{idVendor}=="2970", ATTR{idProduct}=="2282", MODE="0666", GROUP="plugdev", SYMLINK+="android%n"

Два отличия: теперь это SUBSYSTEM (без множественного числа), и группа изменилась с androiddev к plugdev (первое не существует в последних системах, второе существует и обычно назначается по крайней мере первому пользователю).

Кроме того, вам может потребоваться добавить идентификатор поставщика в свой ~/.android/adb_usb.ini (один идентификатор на строку в шестнадцатеричной системе счисления):

# ANDROID 3RD PARTY USB VENDOR ID LIST# 1 USB VENDOR ID PER LINE.0x2970

Источник

Вы уже авторизовали RSA-ключ компьютера?

Когда вы включаете отладку по USB в телефоне, а затем подключаете его через USB, вы должны получить запрос с вопросом, хотите ли вы разрешить КОМПЬЮТЕРУ отлаживать телефон, и он покажет вам RSA-ключ ПК для его идентификации.

Я не получил никакого такого запроса, когда подключил свой телефон к компьютеру.

@Teekin посмотрим, поможет ли это How to get Vendor ID of an Android-powered device via adb? - Stack Overflow

Я совершенно новичок - не могли бы вы, пожалуйста, объяснить? Спасибо.

На самом деле, я просто попытался выполнить настройку, и перед тем, как дать авторизацию ПК, запустив “adb devices”, телефон был указан как “автономный”, но он был там.

Снимок в темноте: если ваш телефон подключен к порту USB3, попробуйте вместо этого подключить его через USB2.

Наконец, вы могли бы рассмотреть возможность задать этот вопрос на https://android.stackexchange.com / а также

Указан ли телефон в выходных данных lsusb?

Да, телефон указан в lssub. Телефон работает под управлением CyanogenOS. В перечисленных спецификациях указано, что usb 2.0 также не обнаруживается в режиме быстрой загрузки.