Азы отладки устройств на Android под Windows. Установка и использование adb
2012-07-17 23:11:30
Ратмир Карабут

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

ADB расшифровывается как Android Debug Bridge. Это мощный консольный инструмент, поставляемый как часть Android SDK и позволяющий взаимодействовать с устройством и управлять им с компьютера. Можно пользоваться им отдельно, но желательно все же установить SDK полностью, так как вместе с adb в наборе доступно множество полезных в работе утилит. Ранее adb включался в дефолтный состав SDK, но на данный момент для его получения требуется, запустив SDK Manager, выбрать для скачивания и установки пакет Android SDK Platform-tools.

После установки Android SDK теоретически должен прописать необходимые для вызова команды adb из любого места системы пути в PATH, но почему-то это происходит не всегда. PATH можно изменить самостоятельно, добавив путь к platform-tools к имеющимся через точку с запятой. В Windows XP переменную можно увидеть и поправить щелчком правой кнопкой на иконке "Мой компьютер" и выбором диалога Свойства-Дополнительно-Переменные среды, в Windows 7 добавляется шаг выбора "дополнительных системных настроек" из левой панели после открытия диалога свойств. В любом случае, вы всегда можете найти adb в подкаталоге platform-tools - в моем случае, например, он размещается по адресу c:\Program Files\Android\android-sdk\platform-tools\adb.exe .

Соответственно, adb, если он не прописан в PATH, вы можете запустить, используя консоль Windows (Пуск-Выполнить-cmd), следующим образом:

C:\> cd c:\Program Files\Android\android-sdk\platform-tools\ C:\Program Files\Android\android-sdk\platform-tools\> adb

Вызов интерфейса adb требует в Windows установки подходящих к устройству драйверов отладки. Если информацию о драйверах к брэндовым планшетам и телефонам найти легко, с китайскими устройствами могут возникнуть заминки. Тем не менее, все исследованные на этом сайте устройства на данный момент поддерживают драйвера, предназначенные для SoC Allwinner A10, об установке которых вы можете прочитать по этой ссылке.

Для работы с интерфейсом нужно установить во вкладке "Для разработчиков" системных настроек андроида (в четвертой версии) флажок "Отладка по USB" и подключить устройство к компьютеру с помощью USB-кабеля. Андроид должен показать уведомление о разрешенной отладке.

Запущенный без аргументов adb покажет вам справку по использованию. Чаще всего в базовой работе вам будут требоваться следующие команды:

  • adb devices - показывает список подключенных к компьютеру устройств на Android с включенной отладкой. Быстрый способ проверить функционирование отладочных драйверов.
  • adb logcat - собирает в кучу и показывает в терминале все системные логи устройства, позволяя разобраться во многих возникающих проблемах. Полезно запускать команду в виде adb logcat > log.txt , что выгрузит в файл log.txt историю на данный момент. При этом adb не прерывает исполнения, продолжая сбрасывать лог в файл по мере обновления - чтобы прервать процесс, нажмите Ctrl-C.
  • adb shell - запускает в консоли шелл установленного на устройстве линукса. Умея управляться с консолью линукса и имея права суперпользователя (root), вы можете получить о нем массу информации и внести все необходимые изменения. Обсужление этого выходит за рамки темы статьи.
  • adb push и adb pull - позволяют скопировать файлы в доступный для записи каталог устройства и, наоборот, забрать с устройства то, что вам нужно. Например, adb push c:\tmp\hello.txt /sdcard/ поместит в каталог sdcard на устройстве файл hello.txt из каталога c:\tmp на компьютере, a adb pull /sdcard/hello.txt скопирует его с устройства в текущий каталог.

Итак, например, проверить, является ли извлеченное из коробки устройство рутованным, то есть позволяет ли использовать права суперпользователя по умолчанию, проделайте следующие шаги:

C:\Program Files\Android\android-sdk\platform-tools\> adb shell shell@android:/$ su

Если консоль ничего не скажет на команду (и, возможно, изменит shell (или другое имя) на root в приглашении ввода), вас можно поздравить - you're in. Некоторые китайские устройства и вовсе запускают консоль в режиме суперпользователя.

Приложения