Управляем ОС Android при помощи ADB

В статье рассмотрим стандартную утилиту 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 и пользователя):

SUBSYSTEMS=="usb", ATTRS{idVendor}=="12d1", ATTRS{idProduct} =="1038", MODE="0666", OWNER="пользователь"

Далее выполняем

$ sudo /etc/init.d/udev reload

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

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

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

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


Работа с adb

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

$ adb devices

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

List of devices attached
4CA94Dxxxxx device

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

$ adb reboot

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

$ adb reboot recovery

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

$ adb install <путь_к_apk>

Удаление пакета

$ adb uninstall <package>

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

$ adb logcat

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

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

$ adb shell

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

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

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

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

Михаил АСТАПЧИК

Версия для печатиВерсия для печати

Рубрики: 

  • 1
  • 2
  • 3
  • 4
  • 5
Всего голосов: 0
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!