Найти тему
Time to Test

Мобильность: Android, adb и вседозволенность. Часть 1

Оглавление

Всем привет! Вы же наверняка знаете, что такое Android? Все мы с ним сталкивались по жизни, а кто-то возможно и работал с ним. Сегодня хочу затронуть следующие аспекты работы с Android:

  • ADB
  • Надстройки интерфейсов

Все замечания прошу описывать в комментариях.

Android Debug Bridge (ADB)

ADB – это универсальный инструмент командной строки, который позволяет общаться с устройством на базе ОС Android, выполнять различные команды и проводить отладку на устройстве. Для того, чтобы установить ADB вам потребуется скачать Android SDK. Для запуска необходима предустановленная Java 8, с заданной системной переменной JAVA_HOME, либо с прописанным путем до исполнительного файла java в системной переменной PATH. Android SDK в свою очередь входит в поставку Android Studio – если нет желания устанавливать IDE, то можно скачать только пакет SDK tools для своей операционной системы, и дальше выполнить следующие действия:

  • Распаковать архив
  • Перейти в папку ./tools/bin
  • Запустить консоль в этой папке
  • Выполнить команду sdkmanager(.bat/.sh) platform-tools и дождаться ее завершения
  • После чего по пути ../../platform-tools у вас будут находиться все необходимые файлы последней актуальной версии

Так же рекомендую прописать расположение папки platform-tools в системной переменной PATH, для удобства использования adb в любой другой папке.

Для того, чтобы взаимодействовать с телефоном, на телефоне должна быть включена Отладка по USB, в противном случае подключиться к телефону вы не сможете. Так же, владельцам Windows <10 придется устанавливать дополнительные драйвера (можно установить через sdkmanager), начиная с неизвестного для меня момента времени Windows 10 имеет необходимые драйвера в комплекте поставки, либо умеет их очень быстро ставить с интернета – в связи с чем проблем с их установкой не возникает. А теперь перейдем непосредственно к консольным командам, которые позволят нам творить некоторую магию.

Запуск сервера

adb start-server

Т.к. ADB является приложением с клиент-серверной архитектурой, в качестве сервера выступает ваш компьютер, а подключенный телефон или планшет является клиентом. Эта команда позволяет нам запустить этот самый сервер. Но на самом деле она не так важна – при выполнении любой другой команды, требующей запущенного сервера, сервер будет инициализирован автоматически.

Остановка сервера

adb kill-server

Если сервер вам больше не нужен, его так же можно остановить.

Получение списка подключенных устройств

$ adb devices
List of devices attached
86a25ef2 device

Для того чтобы убедиться, что соединение между телефоном и сервером установлено – можно выполнить эту команду. Если напротив идентификатора устройства написано device – значит устройство успешно подключено. Если же unathorized – значит нужно разблокировать устройство, переподключить кабель и дать разрешение на подключение к компьютеру (появится на экране). Если же ваше устройство не отображается, нужно решать вопрос с драйверами.

$ adb devices -l
List of devices attached
86a25ef2 device product:gemini model:MI_5 device:gemini transport_id:1

Если же у вас большое количество подключенных устройств, и вы хотите разобраться – что есть что, то можно выполнить ту же команду, но только с параметром -l – в результате вы получите более подробный вывод.

Продолжение