• Что за программы Adb и Adb run – основные команды и как ими пользоваться. Android – советы и подсказки. Что делать если ADB не видит вашего планшета или смартфона в числе подключенных к компьютеру устройств Почему adb не видит выключенный телефон

    Опытные владельцы Android устройств достаточно часто пользуются программами ADB и Fastboot, входящими в состав Android SDK для разблокирования загрузчика своих планшетов и смартфонов, установки кастомных прошивок, получения root прав и много, многого другого.

    Однако в один «прекрасный» день вы можете обнаружить, что после того, как вы подключили своё Android устройство к ПК и набрали в окне командной строки привычную команду «adb devices», список подключенных к компьютеру устройств, который должна отобразить эта программа пуст. Что же делать в подобных случаях, чтобы исправить ситуацию?

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

    1. Поверьте, включена ли в настройках вашего планшета

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

    3. Проверьте установлен ли у вас Android SDK и обновлен ли он до самой свежей на сегодняшний момент версии

    4. Попробуйте переключить режим подключения вашего планшета или смартфона с медиа устройства (MTP) на камеру (PTP) или обратно.

    Вы можете спросить – зачем делать всё это, если до этого устройство работало нормально? Причиной возникновения подобной ситуации может быть множество. Например, вы обновили операционную систему на ПК и забыли установить Android SDK, или вы давно не обновляли SDK или вы подключили свой планшет или смартфон не фирменным кабелем, который шел с ним в комплекте, а купленным позже более длинным, для того чтобы было удобно пользоваться устройством в процессе зарядки, или – USB драйверы вашего устройства установлены некорректно.

    Кстати о драйверах. Если вы проверили всё вышеперечисленное, но это вам не помогло и программа ADB по-прежнему не видит вашего устройства, попробуйте удалить его из системы и переустановить заново.

    Для этого, на компьютере с подключенным к нему планшетом или смартфоном откройте диспетчер устройств и найдите устройство с «Composite ADB Interface» в наименовании. Например: «Android Composite ADB Interface» или «Google NexusADB Interface»

    Затем кликните по устройству правой клавишей мыши и в открывшемся меню выберите опцию «Удалить»

    Отключите планшет или смартфон от компьютера, подтвердите удаление, нажав на кнопку «ОK» и после завершения процесса удаления устройства, подключите его заново и дождитесь пока Windows установит его заново. После этого, ваш планшет или смартфон должен отобразиться в списке устройств, подключенных к компьютеру в программе ADB.

    Если вы пользуетесь телефоном, который управляется операционной системой Android, вы должны знать, что существует огромное поле для кастомизации, или, по-народному - настройки под себя. В большинстве случаев вас, вероятно, не устроит прошивка вашего устройства. Если вы произведёте неправильные манипуляции, то можете прекратить работу устройства таким образом, что восстановить его работоспособность смогут только профессионалы.

    Для того чтобы этого не произошло, стоит использовать режим fastboot mode . Что это такое? На андроид-устройствах этот режим был добавлен для разработчиков. Буквальный перевод можно привести, если разбить слово на составные: fast - «быстрый», а boot не имеет точных аналогов в русском языке, но примерно переводится как «загрузка». Режим fastboot позволяет не только устанавливать новые прошивки, но также сбрасывать настройки телефона к стандартным значениям (что крайне полезно в случае, если вы забыли пароль к собственному устройству и случайно заблокировали его).

    Базовая информация

    В целом этот режим чаще всего используется разработчиками как альтернатива режиму восстановления . А также крайне важно осознавать, что не все устройства поддерживают эту функцию. В случае же, если ваш смартфон имеет такую возможность, вы сможете включить этот режим ещё до загрузки телефона, что упрощает процесс установки прошивки или сброса настроек.

    Подготовка персонального компьютера

    Если вы используете фастбут, вы должны подключить устройство к компьютеру через USB-кабель. С помощью bios вы сможете понять, определяется ли устройство компьютером. После этого вы сможете приступить к установке новых драйверов на ваше устройство . Делать это рекомендуется в таком порядке:

    Включение фастбута на разных устройствах

    В дальнейшем вам следует узнать, как именно включается этот режим на вашем телефоне. Для примера мы возьмём телефоны двух китайских производителей: meizu и xiaomi .

    • В телефонах, которые были разработаны компанией xiaomi, необходимо на выключенном телефоне одновременно зажать две кнопки: питания и увеличения громкости. Это вызовет меню, в котором будет пункт, обозначающий необходимый нам режим. Как только нажмёте на необходимую кнопку, вы попадёте в него.
    • Для того чтобы попасть в этот режим с помощью телефона, который произвела компания meizu, вы должны сделать похожие действия, но на этот раз вам нужно будет зажать кнопки уменьшения громкости и питания. И вход в этот режим происходит несколько дольше, чем в телефонах xiaomi, - вам нужно будет держать эти кнопки зажатыми одновременно примерно на протяжении 15 секунд.

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

    Команды для управления

    Как только вы используете ранее открытую программу отладки фастбута и включите этот же режим на телефоне, вы сможете использовать команды для достижения необходимого результата. Ниже представлен примерный список команд:

    Также стоит упомянуть, что вы не ощутите разницу, используя телефон или планшет: если ваше устройство использует операционную систему Android, то вы, вероятнее всего, сможете использовать этот фастбут.

    Довольно очень распространенная проблема в 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, то необходимо выполнить небольшие правки , после которых должно все заработать.

    • 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. Файл приходилось править для каждого раза отдельно, но не думаю, что это такая уж проблема.