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.