adb не находит мое устройство / телефон (MacOS X)


178

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

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


для тех, кто борется с телефоном Samsung, я обнаружил, что должен был установить Kies для распознавания устройства
— DevDave

8
Вы должны использовать PTP при отладке по USB вместо мультимедиа (MTP) -
— aurny2420289

Вы можете попробовать это больше youtube.com/watch?v=w90AXR40AXI
— Ifgeny87

Ответы:


351

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

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

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

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

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

  adb kill-server
  adb devices

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

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

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

Информация о системе, аппаратное USB-дерево

Разверните дерево «Оборудование», выберите «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

2
Я был близок к тому, чтобы проголосовать за вас, просто за то, что вы использовали слова «исполнительное резюме», но когда вы в итоге решили мою проблему, я решил вместо этого проголосовать за вас :-)
— Джейсон Уайтхорн,

22
Для меня это был кабель - высоко ценится
— Дэн Грин-Лейпцигер

9
это был кабель, я не могу поверить в это, все кабели, которые идут со столами indipad, не работают!
— Самуил

4
Да для меня это был кабель тоже! Я искал вещи о драйверах и конфигурационных файлах, но это был только кабель! Спасибо за ваше дополнительное обновление
— darksider

4
Кабельная проблема здесь также. Спасибо!
— JakobMillah

46

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

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

Fix:

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

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

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


43

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

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

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

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

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

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

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


1
блин спасибо за это! забыл я установил эту хрень 3 недели назад!
— Бенуа Джадинон

большое спасибо ... это именно то, что моя проблема была
— tylerjw

Да, это проблема головной боли. После установки easy tether на Mac подключенное устройство Android не отображается в Eclipse IDE. Когда я выполняю sudo kextunload /System/Library/Extensions/EasyTetherUSBEthernet.kext, эта команда тоже. Но ничто не помогает мне понять проблема с подключенным устройством ... Я также удалил сетевое подключение EasyTether из системных настроек.
— Android_kalai

Никогда не устанавливал эту штуку EasyTether, но там она была, после того как я ее отключил, она работала на устройствах adb. теперь я должен заставить работать устройства fastboot ...
— Cristian

Я использовал EasyTether -ages- ago и забыл, что оставил его установленным. Это помогло мне.
— Винсент Гравитас

32

Если вы используете следующие устройства:
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 debuggine» на вашем устройстве Samsung
(3) выключите ваше устройство Samsung
(4 ) включите ваш Mac
(5
) включите питание на устройстве Samsung (6) включите «USB debuggine» на устройстве Samsung
(7) подключите USB-кабель
(8) Запустите «adb devices»
(9) Теперь вы должны увидеть подключенное устройство


2
Я собирался поднять этот ответ специально для ссылки на поставщиков, но ссылка пытается установить рекламное ПО. Я не пробовал другие ссылки, но я уверен, что они делают то же самое.
— Джим Гилмартен

У меня работал на планшете Mediacom S2. Console.app показывает идентификатор поставщика при подключении устройства: 13/02/14 11:17:27,000 kernel[0]: USBMSC Identifier (non-unique): 0123456789ABCDEF 0x2207 0x10 0x222, 2 VendorID есть, в данном случае, 0x2207
— psychowood

1
Downvoting, потому что ссылка на Android File Transfer рекламная. Используйте эту ссылку вместо: android.com/filetransfer
— kand

Последняя процедура 10 шагов, что я искал. Спасибо!
— MaxSC

у меня ничего не получалось. Все еще не могу найти мой gs7 в режиме восстановления
— ronaldosantana

27

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

введите описание изображения здесь


1
LG G2, пришлось выбирать PTP. Спасибо!
— user1112008

1
Alcatel OneTouch Idol 3 по умолчанию перешел в режим зарядки, но вводит меня в заблуждение непрерывным уведомлением об отладке через USB . Мне пришлось пролистать вводящий в заблуждение включенный переключатель отладки USB и открыть меню « Выбор конфигурации USB» .
— AWrightIV

Это сработало для меня - обратите внимание, что для доступа к этому меню вам может понадобиться включить отладку по USB, затем в верхней части панели уведомлений нажать на диалог подключения USB и переключиться с MTP на PTP. После вы должны увидеть диалоговое окно, чтобы принять соединение с вашим компьютером.
— DiscDev

То же самое! Пришлось переключаться Transfer photos (PTP)на Nexus 5X.
— Сошиал

Для меня мне нужно было изменить «Использовать USB для» с ( ) Transferring filesна (*) USB tethering. Я получил доступ к этой опции из выпадающего «уведомления» на главном экране телефона.
— Крис

25

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

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


Подключение USB-кабеля к другому USB-порту может также решить проблему с «adb devices», если компьютер иногда перестает обнаруживать ваше устройство.
— user908643

3
У меня это тоже сработало. Не могу поверить, сколько времени я потратил на это ...
— bengoesboom

Со мной тоже случилось, и я понятия не имею, как это работает. USB-кабель - это USB-кабель. Зарядка работает нормально, почему не работает ADB? Это какая-то волшебная
— штучка с

15

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


Я совершенно не ожидал этого решения, но да поменял мой USB-кабель, и там было мое устройство ..: /: /
— Ajeet Pratap Maurya

При обычном USB два контакта используются для передачи данных, а два - для питания. Эти кабели "только для зарядки", вероятно, сокращают производственные затраты, пропуская соединения для передачи данных.
— McDuffee

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

12

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

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

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

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


В 90% случаев для меня это проблема. Спасибо за ответ.
— углубление

11

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

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


3
Это и нажав на кнопку , Settings->Developer Options->USB Debuggingкажется, сделали свое дело .. Я использую AstroTab ж / 5,0. Спасибо!
— Джин Бо

Это было для меня. Теперь также adb devicesпоказал мой Samsung Galaxy A5 2015 года.
— jonashackt

9

ПРИМЕЧАНИЕ ДЛЯ ЛЮДЕЙ, КОТОРЫЕ НЕ МОГУТ ПОЛУЧИТЬ ЛЮБУЮ ЭТУ СОВЕТУ ДЛЯ РАБОТЫ

Попробуйте запустить Console.app и следить за ошибками при подключении устройства. Я получал

# The IOUSBFamily is having trouble enumerating a USB device that has been plugged in. It will keep retrying.

Он сохранился после перезагрузки, поэтому я в конечном итоге сбросил PRAM, и он снова заработал.

КАК ВЫПОЛНИТЬ СБРОС PRAM

  1. Выключите машину полностью.
  2. Кратко нажмите кнопку питания
  3. Удерживайте Ctrl + Option + P + R
  4. Подождите, пока вы не услышите загрузочный звонок в третий раз
  5. Отпустите все ключи и дайте машине продолжить загрузку полностью

У меня та же проблема: «IOUSBFamily испытывает затруднения при перечислении USB-устройства». Я перепробовал все возможные решения, даже PRAM RESET. У меня не сработало :( Любое другое предложение? Раньше все работало нормально, и теперь внезапно ни одно из моих 3-х устройств не распознается. Идет зарядка для samsung, для nexus 4 даже нет.
— nia

СПАСИБО ! Я попробовал первые 6 ответов, и ничего не получилось. В конце концов, ваше решение сработало отлично. Ваше решение должно быть добавлено в ответ с наибольшим количеством голосов.
— MaximeBernard

@MaximeBernard - вы тоже получили ошибку Console.app или просто сбросили PRAM?
— Вик

8

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

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


Спасатель! Спасибо, сразу поработали на мой LG L90 (D415)!
— Джейкоб Притчетт

5

С новой версией ADB, вы должны удалить ~/.android/adb_usb.ini


2
rm .android / adb_usb.ini; adb kill-server; устройства adb
— marbdq

5

Простая смена кабеля и авторизация Mac работали на меня!


2
Несколько раз это случалось со мной, и это был кабель - возможно, только для зарядки и не рассчитанный на передачу данных
— Джон Тайнер

Мне то же; проверьте кабель.
— Люсьен Дюбуа

4

Я столкнулся с той же проблемой, и следующие исправили ее.

  • Убедитесь, что на вашем телефоне включена отладка по USB.
  • Установить Android File Transfer
  • Вы получите два уведомления на свой телефон, чтобы позволить подключенному компьютеру иметь доступ, и другое, чтобы разрешить доступ к мультимедиа на вашем устройстве. Включить оба.
  • Ваш телефон теперь будет распознаваться, если вы наберете «adb devices» в терминале.

2
Открытие Android File Transfer сделало всю работу за меня, спасибо!
— crgarridos

3

На всякий случай, если это кому-нибудь поможет в будущем, я случайно отключил «Отладку USB» в своих настройках, когда включал / отключал «Показать границы макета». Итак, сначала проверьте эту настройку в «Настройках разработчика».


Мне нужно было выключить и снова включить, чтобы восстановить с моим Mac.
— MattD

3

Я переключился на другой порт USB, и он появился в списке устройств adb.

Это было единственное, что сработало для меня из всех предложенных здесь решений. Это было предложено @ user908643 в этом комментарии .


3

Еще одна хитрость в современном Android - вы устанавливаете поведение устройства, выбирая «Использовать для» устройства.

Например, если для зарядки установлено значение «Использовать для», устройство не будет обнаруживаться ADB. переключение на PTP / MTP другое, более «активное» поведение автоматически сделает ваше устройство обнаружимым.


если я захожу в настройки USB в настройках, чтобы установить PTP, они все отображаются серым цветом: |
— user347187

2

Также убедитесь, что вы проверите веб-сайт поставщиков для их драйверов "USB". У меня была эта проблема с моим AT & T Galaxy Note (под управлением Android 2.3.6), и он не был распознан adb без установки драйвера, которую я получил с сайта samsung.


2

если вы пытаетесь обнаружить samsung galaxy s3, то на телефоне зайдите в настройки -> параметры разработчика -> убедитесь, что отладка по USB проверена


Я Android-разработчик ежедневно работаю с, среди прочего, Galaxy Nexus. Каким-то образом отладка USB отключена сама по себе, без изменений, полчаса назад без изменений. Я включил его снова, и он работает. Это дало мне ключ, чтобы проверить это, спасибо.
— Неманья Ковачевич

2

Я должен был включить USB debugging (Security settings)опцию разработчиков в дополнении к USB debuggingв реом Примечании 4 .


Даже мне пришлось включить отладку по USB для Redmi Note 7, чтобы она работала.
— Вишал Шетти

1

Это чертовски странно, но просто подключение к USB-порту, расположенному рядом с портом Thunderbolt на моем MBP середины 2014 года с Retina, сработало!

Другой порт USB просто не распознает устройство.



1

Попробуйте перезагрузить компьютер (если он когда-либо обнаруживался и перестал появляться) - мать всех решений!


1

Попробовав все вышеперечисленное, последним отсутствующим элементом было включение отладки по USB в параметрах разработчика, которая была скрыта в моем 4.4 Galaxy Note 10.1.

Смотрите пункт 5.2 по этой ссылке.


Не могли бы вы обобщить ссылку, если она сломается?
— matsjoyce

1

Ни один из приведенных выше советов не помог мне в настройке Mac OS X Lion. У меня телефоны Motorola под управлением 2.3.6. Оказывается, мне нужно было установить драйверы для телефонов Motorola. Я нашел их здесь .


1

Ни один из приведенных выше ответов не работал для меня. В macOS Mojave, откройте консольное приложение, вы можете увидеть такую ​​ошибку:

001076.240057 adb@(null): IOUSBUserClientLegacy::start: missing entitlement com.apple.appledfr.client

Даже перезагрузка Mac PFRAM не помогла. Чтобы исправить эту проблему:

  1. Подключите устройство Android через USB-кабель (у меня работал двойной кабель USB-C).

  2. Выберите «Настройки» -> .. -> «Параметры разработчика» и нажмите « Отменить авторизацию отладки через USB».

  3. Телефон Android пойдет на перезагрузку.

  4. Зайдите в Настройки -> .. -> Параметры разработчика и убедитесь, что отладка по USB включена.

  5. Теперь в MacOS-терминал введите:

    adb devices
  6. Вы можете увидеть свое устройство в списке.

Это сработало для моего телефона Google Pixel 2.


для меня это похоже, но описанный вами способ помогает время от времени, иногда помогает заменить USB-сокет, но равномерно он застревает и не видит мое устройство постоянно до перезагрузки Mac. Вы выяснили, что на самом деле происходит?
— Busylee

0

У меня был дьявол времени с этим.

Я пытался этот метод, но он не работал. Я закончил тем, что выключил отладку USB, и устройство тогда попросило, чтобы установить motocast .

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

Я работаю 10.6.8, и устройство Xoom 2 работает 3.2.2

После этой установки все работало нормально.


0

В случае, если, как и я, ничего из вышеперечисленного не помогло вам, я нашел очень глупое решение.

Я использую HTC One X на Macbook Pro 2011 года. Я просто отключил NFC в Настройках> Беспроводные сети> Еще> NFC и альт! Работает нормально.


0

Я видел эту проблему и пробовал каждое решение на stackoverflow и других сайтах, но ничего мне не помогло.

Я перезапустил adb, включил режим разработчика и активировал отладку usb, удалил samsung kies и даже обменял usb кабели на разные порты.

Но потом я где-то читал, что разные USB-кабели используют разные контакты для подключения к ноутбуку или компьютеру.
Поэтому я использовал другой USB-кабель для подключения моего телефона Samsung к Mac .. и Vowwww это работает ... для меня ......


0

В моем случае USB-отладка не была включена на моем устройстве, но при подключении устройства к моему macbook на экране не появилось знакомое диалоговое окно «Allow USB Debugging».


Для тех, кто имеет эту проблему (как я был в течение последних нескольких часов), все, что вам нужно сделать, это следовать инструкциям с сайта ниже eltima.com/wiki/user-guides/syncmate/usb-debugging-android.html Инструкции доходят до версии 4.0 Android. Я исследовал Интернет, выполняя поиск «Android не может подключиться к Mac» и т. Д. Во всех решениях, требующих включить режим отладки по USB, но ни один из них не указал, как получить доступ к этой опции. После 3 приложений и 5 установок позже я нахожу этот сайт из-за приложения под названием SyncMate. Я собираюсь расслабиться и наслаждаться Рождеством.
— Пушистый Себерт
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.