9 минут

2861

ADB в Linux: установка и настройка

ADB в Linux

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

Что такое ADB?

ADB (Android Debug Bridge) — это программа для отладки устройств, работающих под управлением Android. Изначально создание этой утилиты было необходимо для поиска и исправления ошибок в приложениях и системе в целом. Поэтому ее облюбовали разработчики.

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

С помощью ADB можно делать резервные копии данных, загружать на устройство файлы. Можно удалять данные и устанавливать приложения. При этом через ADB легко получить доступ к журналам с различной полезной информацией об устройстве (в основном для разработчиков).

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

Как установить ADB?

Если вы занимаетесь разработкой под Android, то наверняка имеете при себе целый набор инструментов Android SDK. Его можно получить, загрузив на свой компьютер Android Studio.

Но можно вытянуть только Android Debug Bridge без других компонентов. Причем для этого не нужно никаких особых навыков. ADB доступна во всех популярных репозиториях, поэтому для ее загрузки хватает одной команды:

  • В Debian и ей подобных (Ubuntu, Mint) — sudo apt-get install android-tools-adb 
  • Для Red Hat Enterprise Linux и CentOS — sudo yum install android-tools-adb 
  • В openSUSE — sudo zypper install android-tools-adb
  • Для новых редакций Fedora — sudo dnf install android-tools-adb 

Также SDK со всеми необходимыми инструментами можно загрузить на официальном сайте Android Studio. В пакет включена и программа Android Debug Bridge. Этот вариант подходит тем, кто не хочет работать с графической средой Android Studio.

Настройка мобильного устройства для работы с ADB

Для работы с ADB мобильное устройство тоже нужно подготовить. Необходимо перевести смартфон или планшет в специальный режим работы.

Для этого:

  • Открываем настройки устройства.
  • Ищем пункт «О телефоне» и переходим в него.
  • Ищем номер версии операционной системы и нажимаем на него десять раз.
  • После этого переходим в пункт меню «Для разработчиков».
  • И в конце ставим галочку напротив пункта «Разрешить отладку по USB».

Основные функции ADB

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

Для этого:

  • Открываем терминал.
  • Вводим команду adb start-server.
  • Нажимаем на клавишу «Ввод» (Enter), чтобы включить сервер.

Команда запуска сервера ADB

Начинаем работу с Android Debug Bridge

Cообщение об успешном запуске ADB-сервера

Все, теперь можно управлять мобильным устройством.

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

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

Работаем со списком устройств

Первое, что вы можете сделать — ввести команду adb device, чтобы проверить количество подключенных устройств и узнать их номера. Это может понадобиться в том случае, если к вашему компьютеру подключено сразу несколько Android-гаджетов и вы хотите ими всеми управлять.

Чтобы это сделать, нужно перед каждой последующей командой вводить -s номер устройства.

Проверяем состояние гаджета

Теперь можно ознакомиться с текущим состоянием гаджетов. Это можно сделать с помощью команды adb get-state.

После ее ввода в ответ вы получите один из маячков:

  • device — это значит, что устройства работает в штатном режиме.
  • bootloader — это значит, что устройство еще не работает, а только загружается.
  • offline — это значит, что устройство не работает и не загружается.

Сразу покажу пример, как использовать эту же команду для конкретного устройства. adb -s номер устройства get-state. И так для любых других команд и опций.

Просматриваем логи устройства

С помощью ADB можно постоянно мониторить состояние устройства, моментально получая информацию об ошибках и изменениях в системе. Для этого используется команда abd logcat.

Если ввести ее без дополнительных опций, то в ответ получите аналог интерактивного чтения файла-журнала.

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

Команда будет выглядеть так: adb logcat -d > /название файла.log

Передаем файлы с компьютера на мобильное устройство и обратно

Для управления файлами на Android-устройстве через ADB используются две команды — pull и push. Первая вытягивает файл с гаджета на компьютер, вторая передает его с компьютера на мобильное устройство.

Для начала передадим файл с компьютера на Android-устройство. Структура команды будет выглядеть так — adb push путь до файла, который нужно передать и путь до папки, куда нужно передать файл с указанием файла, который нужно передать. Выглядит сложновато, но на деле все просто.

Вот наглядный пример: adb push /home/picture.jpg /sdcard/picture.jpg

С помощью этой команды мы передаем файл picture.jpg с компьютера на SD-карту мобильного устройства.

Обратный путь выглядит примерно также. Только вместо push используем pull.

Устанавливаем и удаляем приложения

Приложения для Android распространяются в формате APK. Имея на компьютере такой файл, можно с помощью ADB установить его прямо на мобильное устройство.

Делается это предельно просто. Вводим команду adb Install и путь к файла в формате APK.

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

Важно отметить — если на вашем телефоне или планшете уже есть такая же программа, но вы просто хотите установить более свежую версию, надо перед словом install прописать -r.

Тогда команда будет выглядеть так: adb -r install и путь до файла в формате APK

Чтобы стереть приложение с устройства, надо использовать команду adb uninstall. Она работает по тому же принципу. Прописываем команду, а следом за ней название пакета, который нужно удалить из телефона.

Создаем резервные копии данных

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

Команда для создания резервных копий строится следующим образом:

  • Сначала вводим adb backup.
  • Затем указываем опции для настройки резервной копии.
  • Потом указываем пакеты данных, которые надо сохранить (при желании).
  • Указать имя файла с резервной копией (при желании).

Вот список доступных опций:

  • -apk — добавляет в резервную копию APK-файлы приложений.
  • -obb — добавляет в резервную копию расширения, установленные в систему.
  • -shared — добавляет в резервную копию данные с карт памяти.
  • -system — добавляет в резервную копию все системные компоненты.
  • -all — сохраняет в копию все данные с мобильного устройства.

В итоге команда по созданию полноценной резервной копии всех данных с устройства будет выглядеть так: adb backup -apk -obb -shared -all

Перезагружаем устройство

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

Для обычной перезагрузки используйте команду adb reboot

Для перезагрузки в режиме восстановления — adb reboot recovery

Переходим в режим ADB Shell

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

В этом режиме вам доступны команды совершенно другого уровня. Например, можно запустить запись экрана или сделать скриншот. Также можно полноценно перемещаться по файловой системе устройства.

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

Space Police

Переводчик. Копирайтер. Композитор. Люблю консьюмерские технологии, музыку и все смежные направления. Надеюсь дожить до «счастливого» киберпанк-будущего. Испытываю пассивную агрессию по отношению к РКН ;)


Понравилась статья?
Комментариев: 1

  • Ruslan Petrov
    Ruslan Petrov
    3 августа, 2021 в 00:18

    А как использовать смартфон в качестве USB модема?