Adb devices не видит. Если DDMS не видит adb devices в Eclipse. Что делать, если ADB не видит устройство

7 ноября 2012 в 14:56

Ручная установка драйвера ADB

  • Разработка под Android
  • Tutorial

И вот тут меня ждал неприятный сюрприз - то ли родной драйвер оказался кривым, то ли винда, то ли провод… вообщем драйвер то встал, диспетчер устройств Windows рапортовал о полной работоспособности девайса, но на запрос adb devices в консоли я получал пустой список и, естественно, тестировать приложение на планшете не удавалось.

Я написал запрос в службу поддержки TeXeT, мне даже ответили ссылкой на сам драйвер, который, как я уже убедился, не работал. Я начал искать ответ в интернете и нашел кучу разных сборок этого драйвера и мануалов, но все равно ни один из них не завелся как надо, и даже родной драйвер из SDK вообще никак не становился, что повергло меня в уныние… но не отчаяние.

Вот тут я решил попробовать свои силы в написании драйверов старом добром методе научного тыка и открыл inf-файл драйвера. Надежду мне давало понимание, что софтверная часть adb интерфейса со стороны планшета должна быть идентичной для всех устройств, а USB и так работал. И вот, после нескольких неудачных проб ручной правки inf-файла я нашел рецепт лечения приправы inf-файла так, чтобы оно поставилось и, главное, работало.

Итак, приступим.

Шаг 1. Скачать драйвер. Если вы этого еще не сделали, откройте Android SDK Manager, найдите раздел Extras, поставьте галочку напротив Google USB Driver и нажмите Install Packages. Все просто. Ждете, пока загрузится.

Шаг 2. Найдите драйвер и сделайте его копию в отдельную папку. Зайдите в папку %android-sdk%\extras\google\ и увидите там заветную папочку usb_driver. Вот ее скопируйте куда-то, и там же будем проводить дальнейшие манипуляции. В принципе, можете править и «оригинал», но я предпочел сохранить оригинал нетронутым на всякий пожарный.

Шаг 3. Правим inf-файл. В папочке открываем файл android_winusb.inf и ищем там строки такого вот вида:
;Google Nexus One %SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_0D02 %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_0D02&MI_01 %SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_4E11 %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4E12&MI_01
Делаем копию этих строк, заменяем Google Nexus One на %имя_вашего_девайса% для идентификации в будущем и… открываем диспетчер устройств Windows. Ищем там наше устройство(Android , Android Composite ADB Interface или что-то в этом стиле). Открываем свойства устройства, вкладка «Сведения», в списке выбираем пункт «ИД оборудования» и видим такую вот картину.

Копируем строчку, которая больше всего похожа на ту, что показана на рисунке(Она, по идее просто немного короче), и вставляем ее в наш inf-файл.
;TEXET TM-7025 %SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_0003 %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_0003&MI_01 %SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_0003 %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_0003&MI_01
В %SingleAdbInterface% мы конец строки удаляем, как видно, в %CompositeAdbInterface% вставляем целиком. Повторять два раза все, наверное, не надо, но у меня уже все стоит и мне лень экспериментировать:)
Сохраняемся(будьте внимательны - в некоторых случаях для этого нужно запускать блокнот с правами администратора, т. к. в пользовательском режиме вам не дадут перезаписать inf-файл).
Шаг 4. Установка драйвера. Теперь, когда все подготовлено, возвращаемся в диспетчер устройств и удаляем все ранее установленные adb драйверы(если были). Обновляем список устройств и видим наш девайс без драйверов. Открываем его свойства и выбираем «обновить драйверы», выбираем установку из папки, указываем папку с поправленым inf-ом и запускаем установку - наш драйвер моментально находится, но при установке он может ругаться о несовместимости с вопросом «продолжать ли, насяльнека?». Продолжаем. Все, драйвер установлен.
Шаг 5. Финал. Для точности делаем вынь-всунь USB-порта, ждем пока все обнаруживается, открываем консоль(Win+R, вводим cmd ) и пишем adb devices . Если все прошло хорошо - видим заветный пункт списка, обозначающий, что adb теперь видит наш девайс.


С этого момента можно спокойно запускать eclipse и строить программы, наслаждаясь удобной автоматической сборкой, установкой и возможностью дебага прямо на нашем устройстве.

Если команда adb у вас вообще не работает. Компьютер -> Свойства -> Переменные среды. Ищем переменную Path и в конце дописываем (ни в коем случае не перезаписываем) в конце точку с запятой, а после адрес папки, где живет adb(обычно %android-sdk%\platform-tools\). После перезагрузки должно заработать.
Иногда adb не запускается автоматически при старте системы. Запустите вручную.

Что это было?
На самом деле все просто. В силу неких причин(винда мастдай/у прогеров кривые руки/гугловский инф-файл писался только для родных гугловских девайсов/в вашем компьютере все испортили бозоны Хиггса) винда не хочет кушать гугловский драйвер для негугловских девайсов, не записанніх в inf-файл. Видимо, там все как раз завязано на этих ИД-оборудования. Но ведь софтверная часть на подавляющем большинстве андроид-устройств в части дебаггер-коннектора к ПК идентична, потому драйвер должен нормально общаться с любым Андроид-устройством. Наша задача - обмануть Windows и заставить ее принять девайс за «драйверо-подходящий», что мы и сделали путем дописывания его ИД в inf-файл драйвера.

Надеюсь, кому-то данный мануал поможет завести свой китайский или другой девайс, для которого при сборке системы забыли сделать нормальный драйвер adb, или тем, кого задалбывает качать официальный драйвер от производителя устройства(это бывает настолько гемморно, что быстрей сделать все вышеописанное - у меня так было с драйвером для телефона LG E510).

P. S. Я не проводил массового тестирования данного метода, так что не могу гарантировать, что он заработает в 100% во всех случаях. Но у меня он заработал на Windows 7, а после и на Windows 8. Файл приходилось править для каждого раза отдельно, но не думаю, что это такая уж проблема.

Довольно часто распространенная проблема в Android это — ошибка waiting for device при работе с ADB или Fastboot, в данной статье научимся ее исправлять!

Что это waiting for device?

Данная ошибка не совсем ошибка, если дословно перевести данную фразу — ожидание подключения устройства. То есть, когда когда вы пытаетесь что-то выполнить в ADB или FASTBOT и у вас появляется сообщение waiting for device в командной строке, то это означает, что ваш Android смартфон или планшет не виден!

Сообщение — adb или fastboot не видят подключенный Android девайс!

Чтобы было понятно, о чем эта статья и для понимания, о чем идет речь, желательно прочитать следующие статьи:

  • Отла дка по USB

Хотя почти все причины сообщения решаются одинаково для удобства статья будет разделена на решение «waiting for device в adb» и «waiting for device в fastboot».

Решение waiting for device в ADB

1. Первое на что стоит обратить внимание, так это на то, что установлен ли у вас драйвер?

Скачать драйвер можно на данной странице , как установить узнать на этой ссылке . Если драйвер без подписи , то Windows необходимо перезагрузить отключив проверку. Для определенных устройств необходим специальный ADB драйвер.

Установили драйвер? Перезагрузите компьютер!

2. Убедитесь что устройство находиться в режиме bootloader, иначе fastboot не увидит ваш Android!

3. Используйте оригинальный и не поврежденный кабель microUSB кабель! Здесь должно все быть понятно, если кабель поврежден, отсюда и проблема видимости, возможно вы можете с этого кабеля передать или принять файлы, но вот с Fastboot уже работать не получится! Также не используйте поврежденный USB порт на компьютере!

4.Используйте только порт USB 2.0! Не смотря что стандарт USB 3.0 уже существует уже не первый год, но все же до масштабного внедрения говорить очень рано. Работа Fastboot с USB 3.0 хоть и возможна, но все же не желательна!

5. Не используйте USB-хабы! Никогда и ни при каких условиях не используйте USB-хабы, работа с Fastbot становиться похожа на фортуну — повезет или не повезет.

7. Попробуйте подключить Android в другой USB порт.

9. Откройте командную строку от «имени администратора».

Если у вас была когда-то похожая проблема «waiting for device» и в решили по своему, не из перечисленных способов, то не стесняйтесь написать в комментариях!

Вот и все! Больше статей и инструкций читайте в разделе . Оставайтесь вместе с сайтом , дальше будет еще интересней!

  • Tutorial

И вот тут меня ждал неприятный сюрприз - то ли родной драйвер оказался кривым, то ли винда, то ли провод… вообщем драйвер то встал, диспетчер устройств Windows рапортовал о полной работоспособности девайса, но на запрос adb devices в консоли я получал пустой список и, естественно, тестировать приложение на планшете не удавалось.

Я написал запрос в службу поддержки TeXeT, мне даже ответили ссылкой на сам драйвер, который, как я уже убедился, не работал. Я начал искать ответ в интернете и нашел кучу разных сборок этого драйвера и мануалов, но все равно ни один из них не завелся как надо, и даже родной драйвер из SDK вообще никак не становился, что повергло меня в уныние… но не отчаяние.

Вот тут я решил попробовать свои силы в написании драйверов старом добром методе научного тыка и открыл inf-файл драйвера. Надежду мне давало понимание, что софтверная часть adb интерфейса со стороны планшета должна быть идентичной для всех устройств, а USB и так работал. И вот, после нескольких неудачных проб ручной правки inf-файла я нашел рецепт лечения приправы inf-файла так, чтобы оно поставилось и, главное, работало.

Итак, приступим.

Шаг 1. Скачать драйвер. Если вы этого еще не сделали, откройте Android SDK Manager, найдите раздел Extras, поставьте галочку напротив Google USB Driver и нажмите Install Packages. Все просто. Ждете, пока загрузится.

Шаг 2. Найдите драйвер и сделайте его копию в отдельную папку. Зайдите в папку %android-sdk%\extras\google\ и увидите там заветную папочку usb_driver. Вот ее скопируйте куда-то, и там же будем проводить дальнейшие манипуляции. В принципе, можете править и «оригинал», но я предпочел сохранить оригинал нетронутым на всякий пожарный.

Шаг 3. Правим inf-файл. В папочке открываем файл android_winusb.inf и ищем там строки такого вот вида:
;Google Nexus One %SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_0D02 %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_0D02&MI_01 %SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_4E11 %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4E12&MI_01
Делаем копию этих строк, заменяем Google Nexus One на %имя_вашего_девайса% для идентификации в будущем и… открываем диспетчер устройств Windows. Ищем там наше устройство(Android , Android Composite ADB Interface или что-то в этом стиле). Открываем свойства устройства, вкладка «Сведения», в списке выбираем пункт «ИД оборудования» и видим такую вот картину.

Копируем строчку, которая больше всего похожа на ту, что показана на рисунке(Она, по идее просто немного короче), и вставляем ее в наш inf-файл.
;TEXET TM-7025 %SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_0003 %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_0003&MI_01 %SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_0003 %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_0003&MI_01
В %SingleAdbInterface% мы конец строки удаляем, как видно, в %CompositeAdbInterface% вставляем целиком. Повторять два раза все, наверное, не надо, но у меня уже все стоит и мне лень экспериментировать:)
Сохраняемся(будьте внимательны - в некоторых случаях для этого нужно запускать блокнот с правами администратора, т. к. в пользовательском режиме вам не дадут перезаписать inf-файл).
Шаг 4. Установка драйвера. Теперь, когда все подготовлено, возвращаемся в диспетчер устройств и удаляем все ранее установленные adb драйверы(если были). Обновляем список устройств и видим наш девайс без драйверов. Открываем его свойства и выбираем «обновить драйверы», выбираем установку из папки, указываем папку с поправленым inf-ом и запускаем установку - наш драйвер моментально находится, но при установке он может ругаться о несовместимости с вопросом «продолжать ли, насяльнека?». Продолжаем. Все, драйвер установлен.
Шаг 5. Финал. Для точности делаем вынь-всунь USB-порта, ждем пока все обнаруживается, открываем консоль(Win+R, вводим cmd ) и пишем adb devices . Если все прошло хорошо - видим заветный пункт списка, обозначающий, что adb теперь видит наш девайс.


С этого момента можно спокойно запускать eclipse и строить программы, наслаждаясь удобной автоматической сборкой, установкой и возможностью дебага прямо на нашем устройстве.

Если команда adb у вас вообще не работает. Компьютер -> Свойства -> Переменные среды. Ищем переменную Path и в конце дописываем (ни в коем случае не перезаписываем) в конце точку с запятой, а после адрес папки, где живет adb(обычно %android-sdk%\platform-tools\). После перезагрузки должно заработать.
Иногда adb не запускается автоматически при старте системы. Запустите вручную.

Что это было?
На самом деле все просто. В силу неких причин(винда мастдай/у прогеров кривые руки/гугловский инф-файл писался только для родных гугловских девайсов/в вашем компьютере все испортили бозоны Хиггса) винда не хочет кушать гугловский драйвер для негугловских девайсов, не записанніх в inf-файл. Видимо, там все как раз завязано на этих ИД-оборудования. Но ведь софтверная часть на подавляющем большинстве андроид-устройств в части дебаггер-коннектора к ПК идентична, потому драйвер должен нормально общаться с любым Андроид-устройством. Наша задача - обмануть Windows и заставить ее принять девайс за «драйверо-подходящий», что мы и сделали путем дописывания его ИД в inf-файл драйвера.

Надеюсь, кому-то данный мануал поможет завести свой китайский или другой девайс, для которого при сборке системы забыли сделать нормальный драйвер adb, или тем, кого задалбывает качать официальный драйвер от производителя устройства(это бывает настолько гемморно, что быстрей сделать все вышеописанное - у меня так было с драйвером для телефона LG E510).

P. S. Я не проводил массового тестирования данного метода, так что не могу гарантировать, что он заработает в 100% во всех случаях. Но у меня он заработал на Windows 7, а после и на Windows 8. Файл приходилось править для каждого раза отдельно, но не думаю, что это такая уж проблема.

Довольно очень распространенная проблема в Android это - ошибка waiting for device при работе с ADB или Fastboot, в данной статье научимся ее исправлять!

Что это waiting for device?

Данная ошибка waiting for device не совсем ошибка, если дословно перевести данную фразу - ожидание подключения устройства. То есть когда когда вы пытаетесь что то выполнить в adb или в fastboot и у вас появляется сообщение waiting for device в командной строке, то это означает что ваш Android смартфон или планшет не виден!

Сообщение waiting for device - adb или fastboot не видят подключенный Android девайс!

Чтобы продолжить чтение этой статьи и для понимания о чем идет речь желательно прочитать следующие статьи:

Хотя почти все причины сообщения решаются одинаково для удобства статья будет разделена на решение waiting for device в adb и waiting for device в fastboot.

Решение waiting for device в ADB

странице ссылке . Для определенных устройств необходим специальный ADB драйвер.

2. Не включена Отладка по USB ! Если у вас не включена отладка по USB, то работа в ADB не возможна!

Также стоит обратить внимание что с Android 4.2 и выше необходимо подтверждать на устройстве доверие к подключенному компьютеру!

3. ADB работает только тогда когда ваш Android включен!

4. Используйте оригинальный и неповрежденный кабель microUSB кабель! Здесь должно все быть понятно, если кабель поврежден, отсюда и проблема видимости, возможно вы можете с этого кабеля передать или принять файлы, но вот ADB уже работать не будет!

5. Не используйте поврежденный USB порт на компьютере! Причины все те же что и с кабелем.

6. Используйте только порт USB 2.0! Не смотря что стандарт USB 3.0 уже существует уже не первый год, но все же до масштабного внедрения говорить очень рано. Работа ADB хоть и возможна если устройство подключено в порт USB 3.0, но все же не желательна!

7. Не используйте USB-хабы! Никогда и ни при каких условиях не используйте USB-хабы, работа с ADB становиться похожа фортуной - повезет или не повезет.

8. Попробуйте подключить Android в другой USB порт.

9. Если у вас установлена операционная система Windows 8.1, то необходимо выполнить небольшие правки

Решение waiting for device в Fastboot

Не у всех Android есть режим Fastboot (99% всех Samsung и Lenovo), соответственно данные модели работать не будут в этом режиме и всегда будут выдавать ошибку waiting for device!

1. Первое на что стоит обратить внимание, так это на то что, а установлен ли у вас драйвер? Скачать драйвер можно на данной странице , как установить узнать на этой ссылке . Для определенных устройств необходим специальный Fatboot драйвер (например Sony).

Установили драйвер? Перезагрузите компьютер!

2. Убедитесь что устройство находиться в режиме bootloader иначе fastboot не увидит ваш Android!

3. Используйте оригинальный и неповрежденный кабель microUSB кабель! Здесь должно все быть понятно, если кабель поврежден, отсюда и проблема видимости, возможно вы можете с этого кабеля передать или принять файлы, но вот ADB уже работать не будет!

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

5. Используйте только порт USB 2.0! Не смотря что стандарт USB 3.0 уже существует уже не первый год, но все же до масштабного внедрения говорить очень рано. Работа в Fastboot только с портами USB 2.0!

6. Не используйте USB-хабы! Так как режим Fastboot необходим для прошивки Android, хорошо если Fastboot просто не увидит ваше устройство, но если пройдет какой либо сбой в USB-хабе, то вам обойдется это очень дорого.

7. Попробуйте подключить Android в другой USB порт.

8. Если у вас установлена операционная система Windows 8.1, то необходимо выполнить небольшие правки , после которых должно все заработать.



Тут мы разберемся как правильно установить adb . Если DDMS не видит adb devices в Eclipse (если наше устройство не видит в DDMS в eclipse ). У меня не видит устройство texet 9750hd (планшет на android).

C оф сайта я не смог поставить драйвера на 9750HD. И adb не видело, а лишь показывало «9750hd» с восклицательным знаком в диспетчере устройств.
Можете так же попробывать установить драйвера через Super One Click запустив зайдя в advanced -> check driver. Если ничего не выходит тогда продолжайте.

Постоянно показывало только List of devices attaches и все, без списка, показывая что adb устройства нету. Сколько не пытался следовать другим сайтам. Хоть и показывало в дистпетчере что adb установлено, он все равно не видел устройство в adb:

Скачиваем «google usb driver» через «Android SDK manager» в категории extras (ставим галочку и нажимаем install packages):

После того как скачали, открываем нашу папочку с установленными драйверами:
%android_sdk%\sdk\extras\google\usb_driver

Открываем и редактируем файлик «android_winusb.inf», в зависимости от архитектуры, допустим у вас x86 (добавляем в нужный блок), добавим наше устройство, вот что было:
;Google Nexus One



Теперь мы добавим наше устройство, скопируем нужную строку из диспетчера устройств:

Теперь копируем ;Google Nexus One и заменяем в CompositeAdbInterface USB\VID_18D1&PID_4E12&MI_01 и без последнего параметра MI_01 в SingleAdbInterface:

;Google Nexus One
%SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_0D02
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_0D02&MI_01
%SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_4E11
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4E12&MI_01
; texet 9750hd
%SingleAdbInterface% = USB_Install, USB\VID_2207&PID_0010
%CompositeAdbInterface% = USB_Install, USB\VID_2207&PID_0010&MI_01

Теперь еще один один файлик правим C:\Users\%пользователь%\.android\ . Добавим в него наш VID который копировали выше с приставкой 0x**** (16ричная), и сохраняем:


Теперь обновляем наш драйвер указав на нашу папочку с драйверами:




Нажимаем установить с диска, нажимаем обзор, и выбираем директорию с нашим файликом android_winusb.inf :

При обновлении может спросить ставить ли, ставить конечно. После этого система может увидить, и возможно наш DDMS. В моем случае этого тоже было мало, теперь заменим и adb.exe:

\%android_sdk%\sdk\platform-tools\adb.exe .

Нормально работающий файлик скачиваем, и заменяем в нашей папочке, после чего его прямо в папке (platform-tools ) и запускаем.

В продолжение темы:
Операционные системы

Ниже перечислены основные объекты 1С, которые используются при работе с управляемыми формами. Даны краткие примеры кода, демонстрирующие традиционное использование данных...

Новые статьи
/
Популярные