Adb devices не видит. Прошивка Андроид с помощью утилиты FastBoot. почему ADB RUN лучше

Многие из вас не раз сталкивались с ситуацией, когда для получения root прав на Android планшете или смартфоне, установки новой прошивки, восстановления системы и прочих вещей, нужно было подключать его к компьютеру и выполнять ряд команд adb или fastboot, через окно командной строки (терминала).

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

Но перед тем как чем начать ознакомление с этими командами, напомню, что прежде чем ваш планшет или смартфон смог их выполнять, вы должны позаботиться, чтобы на вашем компьютере был установлен Android SDK , а на самом планшете или смартфоне, в меню его настроек была включена опция «Отладка USB ».

Как установить Android SDK, содержащий в себе программы adb и fastboot, читайте в этом материале .

Также напомню, что в Android 4.2 и выше, пункт «Отладка USB» скрыт, и как получить к нему доступ, вы можете почитать .

Для тех, кто забыл, как запустить окно командной строки в Windows напомню, что проще всего это сделать, нажав на «Пуск», после чего в окне поиска нужно будет ввести cmd и нажать клавишу «Enter».

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

1. Команда adb devices

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

Если все нормально, то после ввода команды adb devices в окне командной строки Windows или терминала Linux, вы должны увидеть строку с текстом List of devices attached, после которой будет строка, состоящяя из серийного номера вашего устройства и его состояния - offline или online:

Состояние offline означает, что устройство находится в спящем режиме. Состояние online сигнализирует о том, что планшет или смартфон готов выполнять ваши команды.

2. Команда adb push

С помощью команды adb push вы можете копировать файлы на свой планшет или смартфон. При этом вы должны указать путь к папке, в которую вы хотите поместить файл на устройстве и папке на компьютере, откуда будет копироваться файл. Второй путь указывать не обязательно, если файл расположен в той же папке, где находится программа adb.

Вот пример копирования видеофайла superfreak.mp4 с компьютера на устройство, в папку /sdcard/Movies с помощью команды adb push superfreak.mp4 /sdcard/Movies/

Для пользователей Windows хочу напомнить, что в Android при указании пути к файлам и папкам используется прямой слэш - /, а не обратный, как вы привыкли.

3. Команда adb pull

Если команда adb push используется для передачи файлов на Android устройство, то adb pull используется для копирования файлов с устройства на компьютер. Так же как и в предыдущем случае, вы должны указать путь, откуда вы хотите взять файл на устройстве и путь, куда вы хотите этот файл поместить на компьютере. Второй путь указывать не обязательно, если вы хотите, чтобы файл попал в папку, из которой вы запускали программу adb.

Вот пример копирования файла superfreak.mp4 из папки /sdcard/Movies/ вашего планшета или смартфона на рабочий стол Windows 8 пользователя Jerry, C:\Users\Jerry\Desktop

Если вы хотите, чтобы файл попал в папку, из которой вы запускали adb, просто введите команду adb pull /sdcard/Movies/superfreak.mp4

4. Команда adb reboot

Эта команда часто используется в процессе получения root прав или установке нового программного обеспечения, когда нужно принять те изменения, которые мы сделали на нашем устройстве. После того, как вы введете команду adb reboot, ваш планшет или телефон перезагрузится.

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

5. Команды adb reboot-bootloader и adb reboot recovery

С помощью adb можно не просто перезагружать Android устройство, но и перезагружать его в загрузчик (bootloader). Этот режим нужен для того, чтобы мы могли разблокировать загрузчик, что необходимо для получения root прав и дальнейшей установки альтернативных прошивок.

Некоторые устройства можно загрузить в bootloader с помощью определенной комбинации клавиш при их включении, но зачастую команда adb reboot-bootloader - это единственный способ получить доступ к загрузчику.

Точно также, программу adb можно использовать для получения доступа к меню восстановления планшета или смартфона или рекавери (recovery). Это можно сделать с помощью команды adb reboot recovery

6. Команда fastboot devices

Если вы перегрузили свой планшет в режим загрузчика (bootloader) то он перестанет принимать команды adb. В этом режиме с устройством мы можем общаться с помощью программы fastboot.

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

Так же, как и в случае с adb, после ввода команды fastboot devices вы должны увидеть серийный номер вашего устройства.

Зачастую причиной неработоспособности fastboot является отсутствие необходимых Windows драйверов вашего устройства.

7. Команда fastboot oem unlock

Некоторые производители (например, HTC или Asus) выпускают специальные утилиты, позволяющие разблокировать загрузчик их планшетов и смартфонов, после чего на них можно будет устанавливать альтернативные рекавери, такие как ClockworkMod или TWRP и прошивки от независимых разработчиков (кастомные прошивки).

Однако во многих случаях, разблокировать загрузчик Android устройства можно с помощью программы fastboot. Сделать это очень просто – когда ваш планшет или телефон находится в режиме bootloader (пункт 5), достаточно в окне командной строки ввести следующую команду: fastboot oem unlock.

После этого вам нужно будет следовать инструкциям, которые будут отображены на экране вашего планшета или смартфона.

Внимание! После выполнения команды fastboot oem unlock, ваше устройство будет полностью очищено от установленных вами программ и ваши персональные данные будут также удалены.

8. Команда adb shell

Команда adb shell зачастую приводит в замешательство некоторых начинающих пользователей.

Есть два пути использования этой команды. Если вы просто введете в окне командной строки текст adb shell и нажмете клавишу «Enter», то вы «попадете» в режим терминала, или командную оболочку вашего Android устройства, где вы сможете выполнять любые команды Android shell.

Ниже вы можете увидеть результат выполнения команды ls в среде Android shell

Этот режим хорошо известен пользователям Linux и Mac компьютеров. Если вы знакомы с командами оболочки bash, то проблем с работой в этом режиме у вас не будет. В противном случае я не рекомендую пользоваться режимом adb shell, до тех пор, пока вы не будете понимать, назначение всех его команд, так как в этом режиме вы имеете полный доступ к файлам на вашем устройстве и можете случайно нанести непоправимые изменения в операционной системе.

Второй способ использования adb shell - это выполнение единичной команды Android shell с помощью такой конструкции: adb shell <команда>. Например вы можете изменить права доступа к файлу с помощью команды типа «adb shell chmod 666 /data/имя файла»

9. Команда adb install

С помощью программы adb вы можете не просто копировать файлы на устройство и обратно. Эта программа также позволяет устанавливать приложения на Android устройства в виде apk файлов. Для этого существует команда adb install. Она немного похожа на команду push: вы должны указать путь, где находится файл с приложением, которое вы хотите установить. Поэтому проще всего сначала скопировать apk файл в папку с программой adb, после чего установку программы вы можете произвести с помощью команды adb install ИмяФайлаПриложения.apk

Если вам нужно обновить приложение, то в этом случае нужно использовать ключ -r и команда будет выглядеть так: adb install -r ИмяФайлаПриложения.apk.

С помощью ключа -s вы можете устанавливать приложения на карту памяти (если ваша прошивка позволяет делать это). Ключ -l позволяет заблокировать приложение при установке (установив его в папку /data/app-private). Существуют и другие ключи для более продвинутых функций, но их описание – это тема отдельной статьи.

10. Команда adb uninstall

И наконец, вы можете удалять приложения с вашего планшета или телефона. Для этого нужно использовать команду adb uninstall ИмяФайлаПриложения.apk

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

Бонус: Команда adb sideload

Эта команда очень пригодится владельцам планшетов и смартфонов Nexus – с помощью неё они смогут обновлять официальную прошивку на своих устройствах. Другими словами, если ваш смартфон или планшет не получил обновления по-воздуху, вы можете скачать новую прошивку с официального сайта, и обновить устройство «вручную».

После того, как вы скачаете файл с прошивкой на компьютер и подключите планшет или телефон к нему, вам нужно будет перезагрузить свое устройство в режим рекавери, выбрать пункт "Apply update from ADB" , а затем на компьютере в окне командной строки ввести следующую команду: adb sideload xxxxxxxx.zip, где xxxxxxxx.zip – это имя zip файла c прошивкой.

Более подробную инструкцию о том, как обновить прошивку Nexus устройств вручную вы найдете в этом материале .

Похожие материалы:

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


  1. c:\android\adb
  2. Идём в Пуск Выполнить (или нажимаем на клавиатуре Win + R , кому как удобно) и набираем следующее:
    cmd
  3. Открылась командная строка. В ней пишем:
    cd c:\android\adb
    где c:\android\adb
    *Полезный совет: TAB

  1. Устанавливаем ADB и fastboot на ПК (см. выше)
  2. Идём в ту папку, куда установили наши adb и fastboot. У меня это
    /home/myuser/nexus/adb/
  3. Идём в терминал и там пишем:
    cd /home/myuser/nexus/adb/
    где /home/myuser/nexus/adb/ - путь к папке с adb и fastboot. У вас он может быть другим
    *Полезный совет: чтобы не набирать всё вручную, можно набирать часть имени папки и жать на TAB
  4. Подключаем наше нексус-устройство к ПК
  5. Выполняем необходимые команды (см. ниже)

  1. Устанавливаем ADB и fastboot на ПК (см. выше)
  2. Идём в ту папку, куда установили наши adb и fastboot. У меня это
    /home/myuser/nexus/adb/
  3. Идём в терминал и там пишем:
    cd /home/myuser/nexus/adb/
    где /home/myuser/nexus/adb/ - путь к папке с adb и fastboot. У вас он может быть другим
    *Полезный совет: чтобы не набирать всё вручную, можно набирать часть имени папки и жать на TAB
  4. Подключаем наше нексус-устройство к ПК
  5. Выполняем необходимые команды (см. ниже)


ADB - Android Development Bridge. Проще говоря, это штука для разработки и отладки приложений под наш любимый Android. Но ведь мы никакие не программисты (в большинстве своём), а обычные пользователи! Зачем же он нам? Давайте разбираться.
adb, с точки зрения простого пользователя, включает в себя следующие возможности:
-Правка файлов на самом девайсе через ПК
-Возможность устанавливать приложения, прошивки, ядра, радио, бутлоадеры и рекавери
-Возмодность "Выкачивать" нужные нам файлы с телефона

Для работы с adb необходимо сначала установить их на компьютер (как - см. выше)

Команды ADB:
ADB push (записывает файл на ваш девайс) -- adb push c:\example.apk /sdcard/example.apk
ADB pull (извлекает файл из аппарата на компьютер) -- adb pull /system/app/example.apk c:\example.apk
ADB install (инсталляция программы на аппарат) -- adb install c:\example.apk
adb reboot (перезагрузка аппарата)
adb reboot recovery (перезагрузка аппарата и последующая загрузка в рекавери)
adb reboot bootloader (перезагрузка аппарата и последующая загрузка в бутлоадер)
adb remount (размонтирование и монтирование раздела /system)

Команды ADB-Shell:
adb shell (запускает линукс-оболочку для работы на аппарате)
cd (навигация по дирректориям аппарата) -- cd /system/app
ls (аналог команды "dir" в DOS-е, показывает содержимое дирректории) -- ls /system/app
rm (удаление файла из дирректории) -- rm /system/app/example.apk
cp (копирует файл из дирректории в дирректорию на аппарате) -- cp /system/app/example.apk /sdcard/example.apk
exit (выход из ADB-Shell) -- exit

Команды утилиты fastboot:
fastboot devices - список девайсов, подключенных к компьютеру (используется для проверки подключения)
fastboot reboot - перезагрузка аппарата
fastboot reboot-recovery - перезагрузка аппарата в рекавери
fastboot reboot-bootloader - перезагрузка аппарата в бутлоадер
fastboot flash boot filename.img - прошивка ядра
flashboot flash radio filename.img - прошивка радио
fastboot oem lock - закрыть бутлоадер.
fastboot oem unlock - открыть бутлоадер (стирает все пользовательские данные)

Это далеко не полный список команд!

Опытные владельцы 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.

Многие из нас уже знакомы с ADB (Android Debug Bridge), поскольку, будучи владельцем Android устройства, довольно часто приходится выполнять такие простые действия, как adb push и pull , или adb reboot и т.д. Но для многих начинающих пользователей один только вид командной строки уже пугает, и кажется запредельно возможным. Хотя на самом деле всё довольно просто, опытные пользователи не дадут мне соврать, а самая большая сложность заключается в том, чтобы запомнить все эти команды, хотя это тоже не обязательно делать, поскольку Интернет всегда под рукой и найти нужную команду не составляет труда.

Android Debug Bridge, который является частью эмулятора Android SDK, позволяет осуществлять связь между Вашим компьютером и подключенным к нему Android устройством, кстати если нужен какой то софт, то программы на ноутбук скачать бесплатно можно здесь. Что я могу делать с помощью ADB? Возможности у него довольно широкие, например, самые популярные действия: копировать файлы с Android устройства на компьютер, заливать файлы с компьютера на Android, выполнять множество Linux команд, получать отчеты об ошибках и т.д.

Поэтому, если Вы новичок в этом деле и хотите узнать немного больше об ADB, чем просто что это такое, тогда предлагаю Вам ознакомится с моим небольшим базовым пособием по изучению ADB.

Что понадобится

1. Android Debug Bridge (ADB) для Windows 32bit - скачать

2. Android Debug Bridge (ADB) для Windows 64bit - скачать

3. Компьютер с установленной Windows ОС.

Теперь переходим к активной фазе:

1. Скачиваем нужный zip архив и извлекаем его куда Вам будет угодно, например, диск С.

2. Теперь переходим в директорию C:/adb/sdk/platform-tools. Здесь вы найдете набор файлов, как показано на картинке ниже.

3. Зажимаем кнопку Shift + правый клик мышью и запускаем командную строку Windows с текущей директории.

4. Вводим команду adb start-server .

5. Чтобы убедится, что Ваше устройство правильно подключено и было распознано компьютером, введите команду: adb devices . Если всё хорошо, вы увидите что то похоже на это:

Теперь, когда Ваше устройство подключено и всё работает, давайте немного с ним поиграем.

Читаем LOGCAT через ADB

Самый простой способ, это выполнить команду: adb logcat . Как результат, на экране появится всё содержимое лог файла устройства. Чтобы получить logcat в отдельном файле выполните: adb logcat > logcat.txt .

Отчет об ошибках (BUGREPORT)

Можно выполнить команду: adb bugreport , но вы получите уведомление, что сформировавшийся отчет невозможно будет прочитать, поэтому лучше воспользоваться: adb bugreport >result.txt .

ADB совместно с ROOT правами доступа

Для работы из-под ADB с полными правами доступа, нужно рутить девайс. Если девайс уже рученый, тогда выполняем команду: adb root и видим то, что показано на картинке ниже (перезагрузка ADB с root правами).

Установка приложений через ADB

Чтобы установить приложение, убедитесь, чтобы в названии apk файла не было пробелов и надо точно знать правильный путь к нему. Ну а дальше выполняем команду: adb install + название файла инсталяции. В своем примере я установил игру papertoss, поэтому если всё пройдет успешно, вы получите на экране такую картинку: