Не удается найти устройство Android с помощью команды "adb devices" - PullRequest
50 голосов
/ 17 мая 2011

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

localhost:platform-tools BF$ adb devices 
List of devices attached 

localhost:platform-tools BF$

Я проверил документацию в справочнике «Настройка устройства для разработки».Я сделал все шаг за шагом.

В документации есть несколько слов: Настройка вашей системы для обнаружения вашего устройства.Если вы разрабатываете на Mac OS X, это просто работает.Пропустите этот шаг.

Теперь я не могу найти никакого решения.Нужны ли специальные драйверы для устройств Android?

Ответы [ 16 ]

58 голосов
/ 06 апреля 2012

Я знаю, что эта ветка старая, но я думаю, что это все еще может помочь.Почти все время «это просто работает» в OS X, но иногда новые / прототипные или неизвестные устройства не обнаруживаются.Попытайтесь помочь с этими шагами (я не около моего Mac прямо сейчас, но я сделал это прошлой ночью и думаю, что я помню):

1 - Откройте System Profiler и найдите устройство на USB.Посмотрите детали, чтобы найти идентификатор продавца.Например, устройства Motorola будут показывать 0x2bb8.Или просто Google для идентификатора оборудования вашего поставщика.

Если ничего не показано, попробуйте использовать другие кабели.Передача файлов Android удобна для обнаружения устройства, если у вас есть действующий кабель.

2 - Отредактируйте ~ / .android / adb_usb.ini, чтобы включить этот идентификатор поставщика.Если файл не существует, создайте его только с этой строкой.

3 - Перезапустите ADB

adb kill-server 
adb start-server

4 - Возможно, отключите / подключите телефон.

Инадеюсь, вы видите ваше устройство.

32 голосов
/ 17 мая 2011

Вы случайно не используете приложение EasyTether при подключении к вашему Mac?Если вам случится использовать это приложение, вам повезло, потому что решение состоит в том, чтобы позвонить:

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

из терминала.Я забываю, нужно ли вам перезагружаться или нет.

Это отключит привязку, но теперь вы можете видеть свое устройство через adb.

Чтобы возобновить привязку после завершения отладки, используйте

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

Конечно, если вы не используете EasyTether, то, надеюсь, у кого-то есть идея ....

25 голосов
/ 16 июня 2011

Та же проблема здесь.Устройства osx 10.6.6 и adb, предоставляющие устройства $ ./adb Список подключенных устройств ... пусто ...

Перезагрузка телефона не помогла, хотя в списке с устройствами adb только на секундув процессе загрузки.

Отладка была включена в adroidsettings-> приложениях

Что, наконец, поставило галочку: отключить и снова включить режим отладки.

16 голосов
/ 21 мая 2015

Если вы столкнулись с такой проблемой при использовании Lollipop (Android 5. *), возможно, вы, ребята, должны сделать один простой шаг, который я сделал до того, как мой ADB (я использую Ubuntu) получил мой телефон:

Измените тип подключения USB-ПК на «Отправка изображений (PTP)» (до того, как я использовал «Устройство мультимедиа (MTP)»)

Просто так:

Screenshot

И не забудьте активировать флажок «Отладка по USB».

15 голосов
/ 25 февраля 2012

У меня была эта проблема сегодня, когда телефон заряжался при подключении, но Mac его не видел. Оказалось, что кабель micro USB, который я использовал, предназначался только для зарядки и не выполнял передачу данных. Как только я сменил USB-кабель, он начал нормально работать.

13 голосов
/ 23 октября 2012

Ссылка по этой ссылке!

ЭТО ТОЛЬКО ДЛЯ MAC!

Вот что вам нужно сделать, чтобы сделать ваш телефон видимым для adb:

  1. Открытый терминал (Приложения / Утилиты / Терминал)
  2. cd /System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns/IOUSBCompositeDriver.kext/Contents
  3. sudo nano Info.plist (или vi, или emacs, или любой другой консольный редактор, который вы предпочитаете)
  4. Скопируйте раздел IOUSBComposite (из <key> в </dict>)
  5. Вставьте раздел в строку 66 (сразу после того, где он появляется), чтобы у вас было 2 копии в файле
  6. Измените значение bDeviceSubClass с 0 на 2
  7. Измените имя ключа с IOUSBComposite на GW620

Конечный результат должен выглядеть примерно такэто:

                    <key>GW620</key>
                    <dict>
                            <key>CFBundleIdentifier</key>
                            <string>com.apple.driver.AppleUSBComposite</string>
                            <key>IOClass</key>
                            <string>IOUSBCompositeDriver</string>
                            <key>IOProviderClass</key>
                            <string>IOUSBDevice</string>
                            <key>bDeviceClass</key>
                            <integer>0</integer>
                            <key>bDeviceSubClass</key>
                            <integer>2</integer>
                    </dict>

sudo diskutil repairpermissions / и дайте ему закончить sudo touch /System/Library/Extensions и подождите несколько минут до завершения переиндексации расширения adb devices теперь должен увидеть ваш телефон

Обратите внимание, что это ОЧЕНЬ неаккуратно и, вероятно, будет зависать при каждом обновлении OSX, но это работает.Я могу, наконец, прекратить перезагрузку каждый раз, когда я хочу работать на телефоне!: D

12 голосов
/ 15 октября 2013

Если adb devices не перечисляет устройство, хотя вы подключили его к системе, необходимо убедиться, что опция USB debugging включена на вкладке Developer Options в Settings. Под Android 4.2.2 и выше (из того, что я наблюдал), Developer Options скрыты, если не указано иное. Чтобы сделать Developer Options активным, нажмите 7 раз на Settings > About device > Build number. После этого вернитесь к Settings > Developer Options и активируйте USB Debugging.

Используя adb version 1.0.31, я смог сделать устройство видимым.

8 голосов
/ 12 февраля 2013

У меня была эта проблема. Оказывается, я решил исправить USB-кабель, с которым я соединялся. Я снова переключился на использование кабеля, поставляемого с телефоном, и он работал.

Использование Samsung Galaxy Player и Samsung micro USB.

Да. Это невероятно глупо.

5 голосов
/ 18 августа 2013

При использовании adb устройств на Mac OS X устройство не отображается и, конечно, вы включили USB-отладку на своем устройстве (см. http://developer.android.com/tools/device.html), затем попробуйте:

$ android update adb
adb has been updated. You must restart adb with the following commands
    adb kill-server
    adb start-server

Затем:

$ adb kill-server
$ adb start-server
* daemon not running. starting it now on port ... *
* daemon started successfully *

И наконец:

$ adb devices
List of devices attached 
......  device

Ваше устройство должно быть в списке.

2 голосов
/ 02 марта 2012

на Mac Lion:

Мне просто нужно было перейти на /path/to/android-sdk/tools и запустить android adb update для обнаружения устройств.

...