Управляем ОС 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
В первом и втором случае получения 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 покажется сложной. В дальнейших статьях мы рассмотрим разные программы-оболочки, которые упрощают работу с этой утилитой.
Источник
Команды ADB и Fastboot: более 50 команд для управления, прошивки и обслуживания вашего Android устройства [Перечень, описание]
Опытные пользователи Android знают, что для того чтобы сменить прошивку смартфона, установить на него кастомное рекавери, удалить устаовленные производителем приложения и пр., вам прежде всего понадобится ПК или другое Android устройство с программами ADB и Fastboot.
Скачать ADB и Fastboot от Google вы можете по следующим ссылкам.
На Windows устройвах вам нужно будет также установить драйвер для ADB.
Те, кто не имеет компьютера, ноутбука или Windows планшета может воспользоваться Android устройством. Как это сделать описано в этой статье: ADB и Fastboot без компьютера, с помощью Android смартфона или планшета [Инструкция].
Чтобы произвести сопряжение вашего Android устройства с программами ADB и Fastboot вам нужно будет сделать следующее:
1. Включить в меню настроек вашего смартфона или планшета режим отладки через USB. Как его найти и включить описано в этом материале
2. Подключите ваш телефон к компьютеру (или к другому Android устройства) с помощью USB кабеля, после чего на компьютере перейдите в папку, в которую вы поместили ранее скачанную программу ADB и запустите окно командной строки Windows (терминал Linux/Mac). В Windows для этого нужно ввести в адресной строке Проводника команду cmd и нажать «Enter».
3. В открывшемся окне командной строки выполните команду:
Всё. Теперь вы можете приступать к работе.
Перечень команд ADB и Fastboot включает в себя следующее:
Команды ADB
adb devices — это уже известная нам команда adb, которая используется для вывода списка всех устройств, подключенных к компьютеру.
adb reboot — вы можете использовать эту команду для перезагрузки телефона без использования кнопки питания. Её можно использовать, после тех модификаций, которые требуют перезагрузки.
adb reboot bootloader — чтобы использовать команды fastboot, вы должны предварительно перезагрузить устройство в режим bootloader (fastboot или загрузки). команда reboot bootloader сделает это.
adb reboot recovery — с помощью этой команды вы можете загрузить свой смартфон в режим восстановления (рекавери). Команда поможет тем, кто не знает как это сделать с помощью комбинации клавиш громкости кнопки включения.
adb shell — команда shell включит интерфейс терминала Linux в вашем командном окне для управления подключенным Android устройством. Это позволяет нам вводить команды Linux для взаимодействия с устройством.
adb install — эта команда предназначена для установки приложений на ваше устройство через компьютер. Здесь означает местоположение и имя установочного APK файла на ПК. Для этого набрав adb просто перетащите файл на окно командной строки и расположение вместе с именем файла будет введено автоматически.
adb install -t — Как и приведенная выше команда, вы можете использовать эту команду ADB для установки приложения на телефон, но только для его тестирования.
adb install -r — если вы хотите переустановить приложение на вашем смартфоне или планшете, вставьте -r в обычную команду установки.
adb install -f — приложение будет установлено во внутреннюю память Android устройства.
adb shell pm uninstall com.example.myapp — это команда adb для удаления любых существующих приложений на вашем смартфоне или планшете. Здесь com.example.myapp ссылается на имя пакета приложения, которое вы хотите удалить. Это полезная команда, если вы хотите удалить вредоносные программы или предустановленные приложения. Подробнее об этой команде читайте здесь.
adb clear com.example.myapp — удалит все данные и кеш, относящиеся к пакету.
adb shell screencap — если вы хотите сделать скриншот текущего экрана вашего телефона, вы можете использовать эту команду ADB. Замените на местоположение и имя файла, в котором вы хотите сохранить свой скриншот, например /sdcard/screenshot.png.
adb shell screenrecord — аналогично скриншоту, вы также можете записать видео того, что происходит на экране смартфона или планшета с помощью команды ADB. Обязательно замените на местоположение и расширение, где вы хотите сохранить файл записи экрана. Например, /storage/emulated/0/Download/screenrecord.mp4. Чтобы остановить запись экрана, нажмите Ctrl + C.
adb push — команда adb, используемая для копирования с вашего компьютера в на вашем Android устройстве.
adb pull — это та же команда, что и adb push, но для копирования файлов с телефона на компьютер.
adb logcat — вы можете использовать эту команду для отображения журнала вашего Android устройства в реальном времени.
adb logcat > logcat.txt — сохранить захваченный журнал реального времени в файл logcat.txt.
adb remount — если системный раздел вашего телефона установлен на «Только чтение», но вы хотите смонтировать его в режим «Чтение/Запись», то вы можете использовать эту команду.
adb sideload — эта команда adb используется для загрузки любого файла на Android устройство. Имя файла должно быть полным с его расширением.
adb kill-server — команда, используемая для уничтожения процесса adb на компьютере.
adb start-server — перезапустить сервер adb после завершения процесса с помощью приведенной выше команды.
adb connect — для подключения телефона с доступом к отладке через WiFi.
adb forward tcp: 7100 tcp: 6100 — команда ADB для переадресации порта хоста с 7100 на 6100. Просто замените номер порта другим портом, который применяется в вашем случае.
adb –help — вы можете использовать эту команду для получения справки программы ADB (команды ADB и прочее).
Команды Fastboot
fastboot reboot — перезагрузить устройство (выйти из режима fastboot ). Помните, что команда fastboot будет работать только в том случае, если ваш телефон находится в режиме fastboot, чего можно добиться с помощью команды adb reboot bootloader.
fastboot devices — эта команда fastboot выводит список устройств, подключенных к компьютеру в режиме fastboot.
fastboot reboot recovery — ввод этой команды fastboot приведет к загрузке в стоковое или в кастомное рекавери.
fastboot oem unlock — команда, используемая для разблокировки загрузчика на телефонах Google и некоторых других телефонах. Он будет работать только с поддерживаемыми телефонами.
fastboot flashing unlock — этот также используется для разблокировки загрузчика, но для различных устройств, таких как новые телефоны Pixel, выпущенные после 2015 года.
fastboot flashing unlock_critical — также используется для разблокировки загрузчика для других условий, таких как обновление загрузчика и обновление телефонов вручную.
fastboot oem lock — использовать эту команду fastboot можно для блокировки загрузчика многих телефонов Android.
fastboot flashing lock — чтобы заблокировать загрузчик новых телефонов, нужно использовать эту команду fastboot.
fastboot flashing lock_critical — его можно использовать для блокировки загрузчика, если вы разблокировали его с помощью команды unlock_critical.
fastboot flash boot boot.img — эту команду fastboot можно использовать для прошивки файлов загрузочных образов. Обычно используется, когда смартфон не запускается из-за поврежденного образа загрузки. Также эта команда, используемая для получения Root на Android устройствах после модификации файла образа загрузки. Обязательно переименуйте ваш загрузочный файл в boot.img.
fastboot flash recovery recovery.img — команда для прошивки стокового или альтернативного рекавери. Перед вводом команды переименуйте файл образа восстановления в recovery.img.
fastboot flashall -w — команда fastboot, используемая для очистки раздела /data на устройстве.
fastboot oem device-info — эта команда fastboot поможет нам увидеть состояние загрузчика. Он вернет «True», если загрузчик разблокирован, и вернет «False», если загрузчик заблокирован.
fastboot format:ext4 userdata — может использоваться для удаления всех данных из раздела ext4. Измените раздел, если вы хотите удалить данные из других разделов.
fastboot boot recovery.img — эту команду fastboot можно использовать для временной загрузки на устройстве рекавери из указанного файла. При необходимости recovery.img именем файла рекавери, которое вы хотите запустить.
fastboot erase data — если вы хотите очистить флэш-память тустройства для удаления данных пользователя.
fastboot erase system — для стирания системы с телефона перед прошивкой альтернативной прошивки.
fastboot erase cache — очистить кеш смартфона или планшета.
fastboot erase system -w — эта команда fastboot удалит систему, данные и кеш в одной команде. Таким образом, эта команда выполняет всё, для чего предназначены предыдущие три.
fastboot flash system system.img — прошивка файла образа системы
fastboot flash userdata data.img — подобно предыдущей команде fastboot, вы также можете прошить образ с пользовательскими данными.
fastboot boot kernel ramdisk — разработчики, работающие с пользовательским ядром, могут использовать команду fastboot для тестирования ядра.
fastboot flash zip file.zip — может использоваться для прошивки zip-файлов, таких как пользовательские прошивки. Замените file.zip на имя файла, который вы хотите прошить.
fastboot getvar mid — эта команда fastboot используется для получения номера модели устройства.
fastboot getvar all — выдаст более подробную информацию об устройстве, например, модель устройства, модема, IMEI и т. д.
Источник