ADB не может найти мое устройство / телефон (MacOS X) - PullRequest
158 голосов
/ 21 августа 2011

Разработка Android для Mac и этого очень нового телефона, которого у меня нет в списке устройств в adb . У меня отлично работает множество других телефонов и устройств, поэтому я знаю, что у меня все в порядке.

У меня включена отладка (Настройки -> Приложения -> Разработка -> Отладка USB) на телефоне, но она не отображается при запуске adb devices

Ответы [ 30 ]

319 голосов
/ 21 августа 2011

Дополнительное обновление : Не стоит недооценивать ценность хорошего USB-кабеля. Иногда поможет только замена кабелей.

Обновление для более новых версий adb, ~/.android/adb_usb.ini необходимо удалить.

Резюме: Добавьте идентификатор поставщика в ~/.android/adb_usb.ini и перезапустите adb

Полная информация: Большую часть времени ничего не нужно будет делать, чтобы заставить Mac распознавать телефон / устройство. Серьезно, 99% времени "это просто работает".

При этом самый быстрый способ сброса adb состоит в том, чтобы перезапустить его с помощью следующих последовательных команд:

  adb kill-server
  adb devices

Но время от времени команда adb devices просто не может найти ваше устройство. Может быть, если вы работаете с каким-то экспериментальным или прототипом или необычным устройством, возможно, оно просто неизвестно и не будет отображаться.

Вы можете помочь adb найти ваше устройство, сообщив о «идентификаторе поставщика» вашего устройства, по сути, предоставив ему подсказку. Это можно сделать, указав шестнадцатеричный идентификатор поставщика в файле ~/.android/adb_usb.ini

Но сначала вы должны найти значение идентификатора поставщика. К счастью, на Mac это довольно просто. Запустите приложение Информация о системе . Он находится в папке /Applications/Utilities/, или вы можете получить к нему через меню Apple в верхнем левом углу экрана, выбрать «Об этом Mac», а затем нажмите кнопку «Подробнее ...». Захват экрана здесь:

System Information, Hardware USB tree

Разверните дерево «Оборудование», выберите «USB», затем найдите ваше целевое устройство. В приведенном выше примере мое устройство называется «SomeDevice» (я сделал это в фотошопе, чтобы скрыть реального производителя устройства). Другим примером может быть планшет Samsung, который отображается как «SAMSUNG_Android» (кстати, мне не нужно было делать ничего особенного, чтобы заставить планшет Samsung работать.) В любом случае, щелкните свое устройство, и полная информация отобразится на панели ниже. Здесь он перечисляет идентификатор поставщика. В моем примере со скриншота значение 0x9d17 - используйте это значение в следующей команде

echo 0x9d17 >> ~/.android/adb_usb.ini

Это нормально, если у вас еще не было этого файла adb_usb.ini до этого, в большинстве случаев он просто не нужен для поиска вашего устройства, поэтому нет ничего необычного в том, что этот файл отсутствует. Приведенная выше команда создаст его или добавит в конец, если он уже существует. Теперь запустите команды, перечисленные выше, чтобы перезапустить adb, и все будет хорошо.

adb kill-server ; adb devices

* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached 
123ABC456DEF001 device
44 голосов
/ 17 марта 2012

Если вы установили приложение EasyTether, это может помешать работе ADB.

С этой страницы вы можете выполнить команду:

sudo kextunload /System/Library/Extensions/EasyTetherUSBEthernet.kext 

, это разгрузит ваше расширение EasyTether.

Если вам нужно повторно включитьEasyTether для модема, я думаю, вы можете использовать:

sudo kextload /System/Library/Extensions/EasyTetherUSBEthernet.kext 

Это работало на моем Samsung Galaxy S2.В моем случае было необходимо выполнять команду kextunload при каждой перезагрузке.

35 голосов
/ 06 сентября 2014

Решение, специфичное для Nexus 4 и Nexus 5 для OS X

Когда я запустил: не было устройства, указанного в «Списке подключенных устройств»: adb devices

Исправлено:

  1. Получить SDK (последнюю версию) от developer.android.com
  2. Включите режим разработчика на Nexus 4 (О телефоне> Номер сборки> нажмите 7 раз, чтобы войти в режим разработки)
  3. Новый параметр меню появится в 'Settings': {} Опции разработчика
  4. Убедитесь, что вы отметили следующее в {} Опции разработчика:
    • Отладка USB: режим отладки при подключении USB (принять всплывающее окно с отпечатком пальца RSA)
    • Проверка приложений через USB: проверьте приложения, установленные через ADB / ADT, на вредное поведение

Попробуйте перечислить ваше устройство из устройств ./adb, и оно должно работать.

Ответ взят из: Любая идея, почему ADB не распознает мой Nexus 4 на Mac

30 голосов
/ 11 октября 2013

Если вы используете следующие устройства:
Samsung S3 GT-I9305 (Android 4.1.2)
Mac OS 10.6.8

Выполните следующие действия:

# echo "0x04e8" >> ~/.android/adb_usb.ini
# adb kill-server
# adb devices

(если вы не используете устройство Samsung, измените идентификатор поставщика "0x04e8" на правильное значение вашего поставщика)

Если все еще не работает, вы можете попробовать следующее:

(1) На вашем устройстве Samsung отключите «Отладка USB» и снова включите его
(и попробуйте команды adb снова)

(2) Отсоедините кабель USB и снова подключите его

(3) Удаление Samsung Kies

(4) Установить Android File Transfer

(5) Перезагрузите Mac и устройство Samsung

(6) Используйте аппаратное устройство для тестирования вашего Android-приложения

После подключения устройств, но вы неожиданно отключили USB-кабель, и предположим, что теперь «adb devices» больше не видит ваше устройство даже после «adb kill-server» в этом случае вы можете попробовать следующее:

(1) выключите ваш Mac
(2) отключите «Отладку USB» на устройстве Samsung
(3) выключите устройство Samsung
(4) включите ваш Mac
(5) включите устройство Samsung
(6) включить «Отладку USB» на устройстве Samsung
(7) подключите USB-кабель
(8) Запустите "adb devices"
(9) Теперь вы должны увидеть подключенное устройство

24 голосов
/ 14 июня 2013

Верьте или нет, обмен USB-кабелями решил эту проблему для меня.Я использовал случайный (который не работал), и как только я переключился на тот, который поставляется с реальным устройством Android, он работал.

Еще один признак того, что хороший кабель работалбыло то, что приложение Android File Transfer сразу запустилось, чего не случилось с дерьмовым кабелем.

21 голосов
/ 14 июня 2016

У меня была похожая проблема.Я обнаружил, что MTP не поддерживается в OSX.Я изменил его на PTP, меня повысили до утверждения моего ноутбука, и затем мое устройство было в списке (LG G3).

enter image description here

15 голосов
/ 16 ноября 2013

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

9 голосов
/ 24 февраля 2015

Это сработало только после того, как я включил отладку usb для разработчиков на телефоне:

На вашем телефоне Android перейдите в «Настройки»> «О программе», затем несколько раз нажмите «Номер сборки», пока не включите «Параметры разработчика».

8 голосов
/ 10 октября 2016

В моем случае это было из-за USB-кабеля.

Я обнаружил, что есть два типа USB-кабелей:

  • Те, которые только поставляют энергию
  • Те, которые обеспечивают питание и могут передавать данные

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

8 голосов
/ 11 октября 2014

Вот еще одна вещь, которую стоит попробовать, если вы, как и я, перепробовали все остальные ответы и вам не повезло.

В моем случае (Android 4.3) я зашел в настройки USB под уведомлениями и перешел из режима MTP (медиаустройство) в PTP (камера), и как только он переключился, устройство появилось в списке устройств ADT.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...