В статье рассмотрим стандартную утилиту ADB для управления с персонального компьютера устройствами с мобильной операционной системой Android.


Введение в ADB

Управлять всеми аспектами мобильных устройств с операционной системой Android — памятью, файловой системой, установкой и удалением программ и т.д. — можно не только на самом мобильном устройстве, но и с персонального компьютера, подключив к нему через USB-шнур смартфон или планшет. Для этого к мобильному устройству часто прилагается специальное фирменное ПО.

Но не всегда такое фирменное ПО прилагается, например, для пользователей Linux. Поэтому желательно хотя бы иметь представление об универсальном интерфейсе доступа к устройствам Android с персонального компьютера, который называется Android Debug Bridge (отладочный мост Android) или кратко — ADB. Реализован этот интерфейс в виде консольной утилиты под одноимённым названием adb, которая имеется для всех популярных операционных систем и запускается из командной строки.

Программа adb устанавливает связь между устройством и компьютером, позволяет посылать команды на устройство через USB соединение и выполнять различные манипуляции с системой Android. Продвинутые пользователи сталкивались с ней при получении прав root, установке ClockworkMod Recovery.

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

Основные возможности интерфейса ADB:

  • просмотр подключенных к ПК устройств Android;
  • просмотр лога системы Android;
  • копирование файлов с/на устройство Android;
  • установка и удаление приложений на устройстве Android;
  • очищать раздел data на устройстве Android;
  • запускать различные скрипты управления устройством Android.


Подготовка к работе

Для начала нужно установить саму консольную утилиту adb. Существует несколько вариантов её получения.

1. Обычно в системах Windows она может установиться вместе с фирменными драйверами смартфона или планшета. Искать её обычно следует в папке Program Files в каталоге, имеющем название марки смартфона.

2. Универсальным способом получения adb для пользователей всех операционных систем является установка утилиты через менеджер Android SDK.

Для этого нужно скачать сам архив Android SDK и распаковать. Пользователям Windows в корневой папке архива нужно запустить SDK Manager.exe. Пользователям Linux в папке tools архива SDK нужно запустить исполняемый файл android. (В системе также должна быть установлена Java).

В результате запустится менеджер компонентов Android SDK, через который нужно загрузить компоненты "Android SDK Tools" и "Android SDK Platform tools". Утилита adb должна появиться в каталоге platform-tools в папке разархивированного Android SDK.

3. Пользователи Ubuntu 12.10+ могут загрузить нужные утилиты прямо через менеджер пакетов системы. Утилита adb уже имеется в официальном репозитории этого дистрибутива. Установить нужно пакеты android-tools-adb и android-tools-fastboot.

Для полноценной работы в Windows необходимо установить еще и драйвера конкретного устройства для поддержки интерфейса ADB по USB. Обычно Windows Vista и Windows 7 сами находят этот драйвер в Сети. После установки USB-драйверов для Windows в диспетчере устройств вы должны наблюдать: My Computer — Android Phone — Android ADB Interface. Если у вас вместо Android ADB Interface после подключения устройства светится желтый вопросительный знак, значит, драйвера установились некорректно.

Для пользователей Linux драйвера устанавливать не нужно, но надо написать правило для udev. Ниже приведена последовательность создания правила для Ubuntu.

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

Bus 002 Device 006: ID 12d1:1038 Huawei Technologies Co., Ltd.

Здесь idVendor — это шестнадцатеричные цифры после ID и до двоеточия. IdProduct — это следующие четыре цифры после двоеточия.

После этого создаём файл /etc/udev/rules.d/51-android.rules с правами chmod 644 и со следующим содержанием (подставлять свои значения ID и пользователя):

В первом и втором случае получения adb очень желательно настроить переменные окружения, чтобы не вводить при запуске в консоли полный путь к установленной утилите. О том, как это делать, не раз писалось и на страницах "КВ", поэтому не будем подробно устанавливаться на этом вопросе.

Настройка персонального компьютера на этом закончена. На мобильном устройстве должна быть включена отладка по USB: "Настройки — Приложения — Разработка — Отладка по USB". Подключите ваш телефон через кабель USB и НЕ МОНТИРУЙТЕ как SD!

Для получения абсолютно всех возможностей adb мобильное устройство должно уже иметь root, и также должен быть установлен пакет Busybox (имеется в Google Play). Но всегда следует помнить, что установка прав root в некоторых случаях может лишить гарантии на ваше устройств.

Вот теперь можно приступать к работе с adb.


Работа с adb

Рассмотрим некоторые команды adb. Открываем консоль и запускаем команду

Данная команда выведет список устройств, подключенных к ПК. Должно появиться что-то вроде

List of devices attached
4CA94Dxxxxx device

Просто перезагрузка устройства

Быстрая перезагрузка устройства в режим Recovery

Установка с компьютера пакета apk

Просмотреть лог работы устройства

После чего вы увидите динамический вывод системных сообщений Android. Если производить с устройством какие-либо манипуляции, это тут же будет отображаться через вывод соответствующих сообщений. Выход из режима отладки через комбинацию клавиш Ctrl+C.

И при помощи ADB можно запустить на мобильном устройстве самый настоящий шелл Unix.

Запустив шелл, можно использовать все доступные на устройстве команды UNIX — cat, ls, df и другие, а также запускать сценарии.

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

Полный список всех команд ADB можно получить, запустив adb без параметров.

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

Большинство пользователей Andro >Android Debug Bridge , расшифровывается, как «Отладочный Мост Android». ADB является частью Android SDK. При помощи ADB можно выполнять различные действия над вашим Android планшетом или смартфоном, такие как: перепрошивку, копирование файлов с компьютера на Андроид и обратно, восстановление системы и другие.

Содержание — ADB команды для Android:

ADB для Android — что это такое?

Вам наверняка известно, что операционная система Andro >официального сайта . Есть версии для всех популярных операционных систем: Windows, Mac OS и Linux. То есть, проще говоря, adb позволяет при помощи компьютера управлять телефоном или планшетом.

ADB команды для Android

Подключите ваше устройство к ПК по USB. Убедитесь, что установлены все драйвера и включена отладка по USB .

Работать с Android Debug Bridge лучше всего через командную строку Windows. Для этого в Windows XP нажмите «Пуск» и в поле ввода «Найти программы и файлы» введите «cmd», после этого нажмите «Enter». Если у вас Windows 7 и выше, нажмите «Пуск» и в поле «Выполнить» введите «cmd» и снова нажмите клавишу «Enter».

adb devices

Самая распространенная команда adb. При помощи нее можно определить, видит ли ваш ПК подключенное устройство. Если вы всё сделали нормально, то появится такая строка: «List of devices attached». После нее вы увидите серийный номер вашего смартфона или планшета и его состояние: «online» либо «offline».

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

adb install

Благодаря этой команде вы можете устанавливать приложения на вашем смартфоне или планшете. Для этого нужно прописать путь, где находится APK файл:

adb intsall D:papka_s_faylom
azvanie_prilogeniya.apk

Чтобы не писать длинных путей, скопируйте файл в директорию android-tools. Тогда путь станет таким:

adb intsall nazvanie_prilogeniya.apk

adb uninstall

Вводить нужно аналогично предыдущей команде. При этом приложение удалится.

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

adb push

Благодаря этой команде вы можете перекидывать файлы с компьютера на Android. Для этого вам нужно знать полный путь, где хранится файл и куда его перемещать.

adb push D:papka_s_faylom
azvanie_fayla/sdcard/Android

Чтобы не писать длинных путей, скопируйте файл в директорию android-tools. Тогда вводить нужно:

adb push nazvanie_fayla/sdcard/Android

adb pull

Эта команда копирует файлы с Android на компьютер. Вам нужно знать путь, где находится файл на смартфоне или планшете и указать место, где вы хотите сохранить файл. Если вы не укажете последнее, то файл сохранится в директории android-tools.

adb pull /sdcard/nazvanie_faylaD:papka_gde_sohranity

adb reboot

Эта команда перезагрузит ваш Android телефон или планшет.

adb reboot-bootloader

Благодаря этой команде вы можете напрямую загрузиться в режиме bootloader.

adb reboot recovery

Не все девайсы поддерживают данную команду. При помощи нее можно попасть в режим восстановления.

adb connect

При помощи этой команды можно подключить устройство к Wi-Fi сети. Для этого нужно знать ip адресс и порт устройства.

adb connect ip:port

adb shell

При помощи этой команды вы получаете полный доступ ко всем файлам на вашем устройстве.

Второй способ использования adb shell — это выполнение единичной команды Android shell с помощью такой конструкции:

fastboot devices

Если вы переведете ваш телефон или планшет под управлением Андроид в режим bootloader , то команды adb больше срабатывать не будут. Здесь нужно использовать команды fastboot.

Чтобы проверить, видят ли ПК и Android друг друга, используем команду:

После её ввода должен появится серийный номер вашего аппарата.

fastboot oem unlock

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

fastboot oem unlock

Также все ваши установленные программы и персональные данные будут потеряны.

adb logcat

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

adb logcat > filename.txt

adb sideload

Команда пригодится для владельцев устройств линейки Google Nexus. При помощи нее можно обновить прошивку девайса. Скачайте её на компьютер, подключите к нему Nexus, зайдите в режим Recovery, выберите пункт «Apply update from ADB» и после этого введите команду:

adb sideload name.zip

name.zip – это имя zip файла c прошивкой.

adb backup и adb restore

Команда adb backup создает бэкап, а adb restore проводит восстановление из бэкапа.

Содержание статьи

Существует множество инструментов для работы с подключенным с помощью USB-кабеля или Wi-Fi смартфоном. Особо развитые инструменты позволяют перемещать файлы, устанавливать и удалять софт, просматривать контакты, делать скриншоты экрана и даже отправлять СМС, однако ни один графический инструмент не сравнится с мощью, которую может дать консоль Android. В этой статье мы поговорим об ADB (Android Debug Bridge) — стандартном инструменте для отладки и работы с консолью Android с компа.

Основы работы с ADB

Для начала работы с ADB его следует активировать на устройстве и установить утилиту adb и драйверы на комп. Первая задача выполняется с помощью включения «Отладки по USB» в пункте настроек «Для разработчиков» (если этот пункт скрыт, нажми семь раз на номер сборки в меню «О телефоне»).

Для установки ADB на комп качаем Adb Kit и распаковываем в любую папку (рекомендую использовать названия папок без русских символов). Также скачиваем и устанавливаем драйверы ADB.

Работать с adb нужно из командной строки. Нажимаем Win + R и вводим cmd, далее переходим в папку, в которой лежит adb. Для моей папки команда будет следующей:

Чтобы не проделывать все эти манипуляции каждый раз, можно добавить нужную папку в переменную Path. Для этого необходимо зайти в «Панель управления -> Система -> Дополнительные параметры системы -> Переменные среды», найти переменную Path и добавить в конец строки, через точку с запятой, путь до папки с adb. Теперь после запуска консоли можно сразу вводить необходимые команды.

Добавление adb в переменную Path

Проверим наше подключение к телефону с помощью следующей команды (она должна вывести список подключенных устройств):

С ADB можно работать через Wi-Fi. Для этого нужны права root и приложение WiFi ADB. Запускаем приложение, жмем переключатель и подсоединяемся к смартфону с помощью команды connect и показанного приложением IP-адреса:

Далее работа с ADB ничем не отличается.

Установка программ

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

В команду также можно добавить дополнительные ключи. Полезными будут — переустановить приложение с сохранением данных и -d — установить версию меньше текущей.

Программы можно и удалять, но для этого нужно знать название пакета (как узнать, расскажу чуть позже). На примере игры Angry Birds Seasons команда будет выглядеть так:

Бэкап приложений

В Android есть встроенные функции бэкапа, которые также можно запустить с помощью командной строки. Для этого используется команда adb backup и набор опций:

  • -f указывает имя создаваемого файла и его расположение на компе. При отсутствии ключа будет создан файл backup.ab в текущем каталоге;
  • -apk|-noapk указывает, включать ли в бэкап только данные приложения или сам .apk тоже (по умолчанию не включает);
  • -obb|-noobb указывает, включать ли в бэкап расширения .obb для приложений (по умолчанию не включает);
  • -shared|-noshared указывает, включать ли в бэкап содержимое приложения на SD-карте (по умолчанию не включает);
  • -all указывает на необходимость бэкапа всех установленных приложений;
  • -system|-nosystem указывает, включать ли в бэкап системные приложения (по умолчанию включает);

— перечень пакетов для бэкапа.

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

После ввода необходимо подтвердить начало выполнения бэкапа на самом устройстве. Для восстановления полученного бэкапа нужно выполнить соответствующую команду:

Процесс бэкапа

Консоль в консоли

Наряду с упомянутой консолью, которая является DOS-консолью под Windows, в Android существует и своя. Она вызывается через adb shell и представляет собой по сути стандартную Linux-консоль, но с неполным набором команд, расширить который можно, установив из маркета BusyBox. Использовать эту консоль можно двумя способами. В интерактивном режиме она запускается командой

В консоли появляется знак $ (далее по тексту этот знак будет означать необходимость ввода предварительной команды adb shell), и после этого можно вводить серию команд, получая после каждой отклик. Второй способ — если необходимо ввести только одну команду, можно писать ее подряд за adb shell.

В шелле работают стандартные команды для копирования, перемещения и удаления файлов: cp, mv и rm. Можно менять каталоги (cd) и смотреть их содержимое (ls). Кроме стандартных Linux-команд, о которых можно узнать из любого справочника, в Android есть несколько своих специализированных инструментов, но, чтобы использовать некоторые из них, придется получить на смартфоне права root, а после запуска консоли выполнять команду su:

Это нужно делать, если в ответ на какую-либо команду ты видишь строку, похожую на «access denied» или «are you root?». В случае успеха знак $ сменится на #.

Вывод свободного пространства на устройстве командой adb shell df
Пример работы команды ls для вывода информации о разделах

Создание скриншота

Выполняется одной строчкой:

После этого картинку нужно выдернуть из устройства командой adb pull:

В recovery скриншот можно сделать следующей командой:

Затем необходимо преобразовать файл fb0 в нормальное изображение с помощью FFmpeg, который нужно скачать и положить в папку с adb. Расширение необходимо ставить своего устройства:

Запись видео, происходящего на экране устройства

Данная команда начнет записывать видео с разрешением 1280 x 720 (если не указать, то будет использовано нативное разрешение экрана устройства), с битрейтом 6 Мбит/с, длиной 20 с (если не указать, то будет выставлено максимальное значение 180 с), с показом логов в консоли. Записанное видео будет находиться в /sdcard (файл video.mp4).

Управление приложениями

Для управления приложениями используются две команды: pm (package manager) — менеджер пакетов и am (activity manager) — менеджер активностей. У данных команд есть немало ключей, которые можно посмотреть на портале разработчиков. Остановимся на некоторых.

Для начала получим список установленных на устройстве приложений в виде названий пакетов, которые пригодятся позже:

Продолжение доступно только участникам

Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», увеличит личную накопительную скидку и позволит накапливать профессиональный рейтинг Xakep Score! Подробнее