Расширенная статья: Полезные команды ADB и Fastboot для Android
Android Debug Bridge (ADB) и Fastboot – это два мощных инструмента, предоставляемые Google для взаимодействия с устройствами Android с компьютера. Они позволяют выполнять широкий спектр задач, от установки приложений и резервного копирования данных до прошивки системы и разблокировки загрузчика. Эта статья представляет собой расширенный список наиболее полезных команд ADB и Fastboot, разделенных по категориям для удобства навигации. Она будет полезна как начинающим пользователям, так и опытным энтузиастам Android, желающим углубить свои знания и возможности.
Что такое ADB и Fastboot?
ADB (Android Debug Bridge): Это универсальный инструмент командной строки, который позволяет взаимодействовать с устройством Android, будь то физическое устройство, подключенное через USB, или эмулятор. ADB позволяет устанавливать и удалять приложения, копировать файлы, выполнять команды shell, создавать резервные копии и многое другое. Он является неотъемлемой частью Android SDK (Software Development Kit).
Fastboot: Это протокол, используемый для прошивки разделов на устройстве Android. Он позволяет выполнять низкоуровневые операции, такие как прошивка системы, recovery, bootloader и других важных компонентов. Для работы с Fastboot устройство должно быть загружено в специальный режим загрузчика (Bootloader mode).
Перед началом работы
Прежде чем приступить к использованию ADB и Fastboot, убедитесь, что выполнены следующие шаги:
Установка Android SDK: Скачайте и установите Android SDK с официального сайта разработчиков Android
Настройка переменных среды: Добавьте пути к папкам platform-tools и tools из каталога Android SDK в переменную среды PATH. Это позволит вам запускать команды ADB и Fastboot из любой директории в командной строке.
Включение отладки по USB на устройстве:
Откройте "Настройки" на вашем Android-устройстве.
Перейдите в раздел "О телефоне" (обычно в самом низу списка).
Найдите пункт "Номер сборки" и нажмите на него 7 раз, пока не появится сообщение "Вы стали разработчиком!".
Вернитесь в главное меню "Настроек" и найдите новый раздел "Для разработчиков" (или "Параметры разработчика").
Включите опцию "Отладка по USB".
Установка драйверов USB: Установите соответствующие USB-драйверы для вашего устройства Android на компьютер. Обычно их можно найти на веб-сайте производителя устройства.
Основные команды ADB
1. Управление устройством:
Команда Описание
adb devices Выводит список всех подключенных устройств Android и их статус (например, "device", "offline", "unauthorized"). Это первая команда, которую следует выполнить, чтобы убедиться, что ADB видит ваше устройство.
adb reboot Перезагружает устройство в обычный режим.
adb reboot recovery Перезагружает устройство в режим восстановления (Recovery Mode). Это позволяет выполнять такие действия, как установка обновлений из ZIP-файлов, сброс к заводским настройкам и создание резервных копий.
adb reboot bootloader Перезагружает устройство в режим загрузчика (Bootloader Mode). Этот режим необходим для выполнения команд Fastboot.
adb root Перезапускает ADB с привилегиями root (требуется root-доступ на устройстве). Позволяет получить доступ к системным файлам и выполнять более сложные операции.
adb unroot Возвращает ADB в обычный режим без привилегий root.
2. Установка и удаление приложений:
Команда Описание
adb install app.apk Устанавливает APK-файл приложения на устройство. app.apk - это имя APK-файла, который нужно установить. Можно указать абсолютный или относительный путь к файлу. По умолчанию приложение устанавливается на внутреннюю память устройства, если это возможно.
adb install -f app.apk Устанавливает приложение во внутреннюю память, даже если устройство предпочитает установку на внешнюю SD-карту.
adb install -t app.apk Устанавливает приложение для целей тестирования. Это позволяет устанавливать приложения, манифест которых содержит атрибут android:testOnly="true".
adb install -r app.apk Переустанавливает приложение, сохраняя его данные. Полезно при обновлении приложения без потери пользовательских данных.
adb install -g app.apk Устанавливает приложение и предоставляет все разрешения, указанные в манифесте приложения.
adb install -d app.apk Позволяет понизить версию приложения, т.е. установить более старую версию приложения поверх новой.
adb uninstall com.example Удаляет приложение с указанным именем пакета (package name). Имя пакета можно найти в Play Store или с помощью команды adb shell pm list packages.
adb uninstall -k com.example Удаляет приложение, но сохраняет данные и кэш приложения. Полезно, если вы планируете переустановить приложение позже и хотите сохранить его настройки.
adb shell pm path com.example Возвращает путь к APK-файлу для указанного пакета (com.example).
3. Работа с файлами:
Команда Описание
adb push local/path remote/path Копирует файл или каталог с компьютера на устройство Android. local/path - путь к файлу/каталогу на компьютере, remote/path - путь к месту назначения на устройстве. Например, adb push C:\MyFiles /sdcard/ скопирует папку MyFiles на SD-карту устройства.
adb pull remote/path local/path Копирует файл или каталог с устройства Android на компьютер. remote/path - путь к файлу/каталогу на устройстве, local/path - путь к месту назначения на компьютере. Например, adb pull /sdcard/MyFile.txt C:\ скопирует файл MyFile.txt в корень диска C. Поддерживает передачу целых директорий.
adb shell ls remote/path Выводит список файлов и каталогов в указанном месте на устройстве.
adb shell rm remote/path Удаляет файл или каталог на устройстве. Будьте осторожны!
adb shell mkdir remote/path Создает новый каталог на устройстве.
adb shell cat remote/file Выводит содержимое текстового файла на устройстве.
4. Работа с shell (командной строкой Android):
Команда Описание
adb shell Запускает интерактивную оболочку (shell) на устройстве. После этого можно выполнять команды Linux непосредственно на устройстве. Для выхода из оболочки используйте команду exit.
adb shell command Выполняет указанную команду (command) в оболочке устройства и выводит результат на компьютер. Например, adb shell getprop ro.product.model выведет модель устройства.
adb shell dumpsys Выводит информацию о системных службах. Используйте с аргументами, чтобы получить конкретную информацию (например, adb shell dumpsys battery для информации о батарее).
adb shell pm list packages Выводит список всех установленных пакетов приложений на устройстве. Используйте опцию -s для системных приложений, -3 для сторонних приложений, -i для информации об установщике пакета.
adb shell pm grant com.example android.permission.PERMISSION Предоставляет приложению разрешение (PERMISSION). Некоторые разрешения могут быть опасными и требовать root-доступа.
adb shell pm revoke com.example android.permission.PERMISSION Отзывает предоставленное ранее приложению разрешение (PERMISSION).
adb shell getprop name Получает значение системного свойства с именем name. Системные свойства содержат различную информацию о системе, устройстве и конфигурации.
adb logcat Выводит системный лог устройства. Полезно для отладки приложений и выявления проблем в системе. Используйте фильтры для сужения вывода (например, adb logcat -s MyApp для фильтрации логов только от приложения MyApp).
5. Скриншоты и запись экрана:
Команда Описание
adb shell screencap /sdcard/screen.png Делает скриншот экрана устройства и сохраняет его в файл /sdcard/screen.png. Затем можно скопировать файл на компьютер с помощью adb pull.
adb pull /sdcard/screen.png local/path Копирует скриншот экрана с устройства на компьютер.
adb shell screenrecord /sdcard/video.mp4 Записывает видео с экрана устройства и сохраняет его в файл /sdcard/video.mp4. По умолчанию запись длится 3 минуты. Используйте -time-limit seconds для изменения длительности записи (например, adb shell screenrecord --time-limit 60 /sdcard/video.mp4 для записи в течение 60 секунд).
adb pull /sdcard/video.mp4 local/path Копирует видео с экрана с устройства на компьютер.
6. Резервное копирование и восстановление:
Команда Описание
adb backup -apk -shared -all -f backup.ab Создает полную резервную копию данных устройства, включая приложения, общие данные (например, SD-карта) и все системные данные. -apk включает APK-файлы приложений в резервную копию. -shared включает общие данные (например, SD-карта) в резервную копию. -all включает все приложения и системные данные. -f backup.ab указывает имя файла резервной копии. После выполнения этой команды на устройстве появится запрос на подтверждение резервного копирования и ввод пароля (опционально).
adb restore backup.ab Восстанавливает данные из файла резервной копии. После выполнения этой команды на устройстве появится запрос на подтверждение восстановления и ввод пароля (если он был установлен при создании резервной копии).
adb backup -noapk com.example Создает резервную копию только данных указанного приложения, исключая его APK-файл.
7. Сетевые команды:
Команда Описание
adb tcpip port Переключает ADB в режим подключения по TCP/IP через указанный порт (обычно 5555). После этого можно отключить USB-кабель и подключаться к устройству по Wi-Fi. Требует, чтобы устройство было подключено к компьютеру по USB хотя бы один раз для первоначальной настройки.
adb connect ip:port Подключается к устройству по TCP/IP с указанным IP-адресом и портом. Например, adb connect 192.168.1.100:5555. IP-адрес устройства можно узнать в настройках Wi-Fi.
adb disconnect ip:port Отключается от устройства, подключенного по TCP/IP. Если не указать IP-адрес и порт, отключаются все TCP/IP соединения.
8. Отладка приложений:
Команда Описание
adb forward tcp:6100 localabstract:webview_devtools_remote Позволяет выполнять отладку WebView в Chrome DevTools на компьютере. Необходимо открыть chrome://inspect/#devices в браузере Chrome.
adb jdwp Выводит список Java Debug Wire Protocol (JDWP) процессов на устройстве. Используется для отладки Java-приложений.
9. Служебные команды:
Команда Описание
adb start-server Запускает ADB-сервер, если он не запущен. Используйте, если ADB не распознает ваше устройство.
adb kill-server Останавливает ADB-сервер. Используйте, если ADB работает некорректно или конфликтует с другими программами.
adb version Выводит версию ADB.
adb help Выводит справку по всем командам ADB.
Команды Fastboot
Важно: Команды Fastboot выполняются только тогда, когда устройство находится в режиме загрузчика (Bootloader mode). Переход в этот режим обычно выполняется с помощью комбинации кнопок (например, Power + Volume Down) при включении устройства, либо с помощью команды adb reboot bootloader.
1. Информация об устройстве:
Команда Описание
fastboot devices Выводит список устройств, подключенных в режиме Fastboot. Убедитесь, что ваше устройство отображается в списке, прежде чем выполнять другие команды Fastboot.
fastboot getvar all Выводит всю доступную информацию об устройстве, включая серийный номер, версию загрузчика, состояние загрузчика (locked/unlocked), информацию о разделах и другую техническую информацию.
2. Разблокировка/блокировка загрузчика:
Внимание! Разблокировка загрузчика приведет к сбросу всех данных на устройстве и аннулирует гарантию (в зависимости от производителя). Перед выполнением этих команд убедитесь, что вы понимаете риски.
Команда Описание
fastboot oem device-info Выводит информацию о состоянии загрузчика (locked/unlocked) и другую информацию, специфичную для производителя устройства. Некоторые производители требуют использования этой команды перед разблокировкой загрузчика.
fastboot oem unlock Разблокирует загрузчик на старых устройствах (например, Google Nexus). После выполнения этой команды на устройстве может потребоваться подтверждение разблокировки.
fastboot flashing unlock Разблокирует загрузчик на новых устройствах (например, Google Pixel). После выполнения этой команды на устройстве может потребоваться подтверждение разблокировки.
fastboot oem unlock CODE Разблокирует загрузчик на устройствах, требующих код разблокировки (например, Xiaomi, Sony, HTC, Huawei, Honor). CODE - это уникальный код, который можно получить у производителя устройства.
fastboot oem lock Блокирует загрузчик на старых устройствах. Это восстанавливает заводское состояние устройства и может потребовать подтверждения на устройстве.
fastboot flashing lock Блокирует загрузчик на новых устройствах. Это восстанавливает заводское состояние устройства и может потребовать подтверждения на устройстве.
fastboot oem relock CODE Блокирует загрузчик на устройствах, требующих код блокировки. CODE - это код, который может потребоваться от производителя.
3. Прошивка разделов:
Команда Описание
fastboot flash partition image.img Прошивает указанный раздел (partition) образом (image.img). Например, fastboot flash system system.img прошьет раздел system файлом system.img. Будьте осторожны! Неправильная прошивка разделов может привести к неработоспособности устройства.
fastboot erase partition Стирает (удаляет) данные из указанного раздела (partition). Например, fastboot erase userdata сотрет все данные из раздела userdata (сброс к заводским настройкам). Будьте осторожны!
fastboot -w Сбрасывает устройство к заводским настройкам, очищая разделы userdata и cache.
fastboot update firmware.zip Устанавливает прошивку из ZIP-файла. Это альтернативный способ прошивки, который может быть удобнее, чем прошивка отдельных разделов.
fastboot flashall Прошивает все разделы, определенные в файле flashall.bat (или аналогичном скрипте). Обычно используется для прошивки заводской прошивки (factory image). Необходимо, чтобы все необходимые образы (system.img, boot.img, recovery.img и т.д.) находились в той же папке, что и flashall.bat.
Примеры прошивки разделов:
fastboot flash system system.img (Прошивка раздела system)
fastboot flash boot boot.img (Прошивка раздела boot)
fastboot flash recovery recovery.img (Прошивка раздела recovery)
fastboot flash userdata userdata.img (Прошивка раздела userdata)
fastboot flash vendor vendor.img (Прошивка раздела vendor)
4. Перезагрузка:
Команда Описание
fastboot reboot Перезагружает устройство в обычный режим Android.
fastboot reboot bootloader Перезагружает устройство обратно в режим загрузчика (Bootloader mode).
fastboot reboot recovery Перезагружает устройство в режим восстановления (Recovery Mode). Не всегда работает напрямую из Fastboot, в некоторых случаях требуется прошить recovery.img сначала.
Важные замечания и советы:
Будьте внимательны! Ошибки при использовании ADB и Fastboot могут привести к серьезным проблемам с вашим устройством, включая полную неработоспособность (так называемый "кирпич"). Всегда дважды проверяйте команды перед их выполнением.
Делайте резервные копии! Перед выполнением любых операций, связанных с прошивкой или разблокировкой загрузчика, обязательно сделайте резервную копию всех важных данных с вашего устройства.
Изучайте документацию! Перед использованием незнакомой команды ознакомьтесь с ее описанием и возможными последствиями в официальной документации Android SDK или на специализированных форумах.
Используйте оригинальные кабели! Для стабильного соединения и предотвращения ошибок используйте качественный USB-кабель, желательно оригинальный от производителя вашего устройства.
Драйверы! Убедитесь, что у вас установлены правильные драйверы для вашего устройства, иначе компьютер не сможет его обнаружить.
Режим разработчика и отладка по USB: Не забудьте включить "Режим разработчика" и "Отладку по USB" в настройках вашего устройства.
Поиск и устранение неисправностей: Если у вас возникли проблемы, поищите решение в Интернете или обратитесь за помощью на форумы Android.
Заключение
ADB и Fastboot – это мощные инструменты, которые позволяют пользователям Android получить полный контроль над своими устройствами. Понимание и использование этих команд открывает широкие возможности для кастомизации, отладки и восстановления системы. Однако, следует помнить о рисках и соблюдать осторожность при работе с этими инструментами. Надеемся, что эта расширенная статья поможет вам в освоении ADB и Fastboot!