Главная >> Команды >> Команды adb для Android пользователей

Команды adb для Android пользователей

Если у вас есть смартфон с операционной системой Android и вы часто с ним экспериментируете, что-то настраиваете или перепрошиваете, то, скорее всего, вы уже знакомы с инструментом ADB или (Android Debug Bridge). Это программа для управления смартфоном через компьютер по USB, которая содержит множество полезных команд.

Вы можете просматривать журналы, устанавливать и удалять приложения, управлять устройством и выполнять множество других полезных команд. Из этой статьи вы узнаете как пользоваться ADB в Linux, мы рассмотрим полезные команды ADB для пользователей Android и подробно разберем эту утилиту. Но сначала рассмотрим как установить сам инструмент на компьютер.


Содержание статьи

Установка ADB в Linux

Программа ADB входит в стандартный набор утилит Android SDK. Вы можете установить эту среду и получите нужную утилиту. Но не всегда хочется тянуть на компьютер целую среду исполнения. Иногда нужна только одна программа. Ее можно очень просто установить отдельно. В Ubuntu для этого можно выполнить команду:

sudo apt install android-tools-adb

Для Red Hat, CentOS команда будет немного отличаться:

sudo yum install android-tools-adb

Если вам нужно установить ADB в Windows, то придется скачать пакет SDK Platform Tools из официального сайта.

Подготовка смартфона

Для того чтобы вы смогли использовать adb вместе со своим смартфоном вам необходимо включить режим отладки по USB. Эта возможность скрыта во всех версиях Android начиная с 4.2. Чтобы стать разработчиком сначала зайдите в "Настройки" -> "О телефоне" и семь раз нажмите на пункте "Номер сборки":

Затем в главном меню настроек появится пункт "Для разработчиков":

Тут необходимо поставить галочку напротив раздела "Разрешить отладку по USB":

Теперь ваш телефон готов к работе с adb. Подключите его по USB к вашему компьютеру и начнем работать.

Полезные команды ADB

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

adb start-server

После завершения работы вы можете отключить службу чтобы она не потребляла лишние ресурсы:

adb kill-server

Теперь можно выполнять adb команды для android.

Список устройств

Первым делом, посмотрим список подключенных устройств к нашему компьютеру. Для этого используется команда devices:

adb devices

Если к системе подключено несколько смартфонов, то по умолчанию действия будут применяться к первому. Но вы можете задать нужное имя устройства с помощью опции -s. Например:

adb -s 0123456789ABCDEF logcat

Также указать имя устройства, к которому необходимо применять команды программы adb можно с помощью переменной ANDROID_SERIAL:

export ANDROID_SERIAL=0123456789ABCDEF

Тогда все команды adb будут применяться к устройству, указанному в этой переменной.

Состояние устройства

С помощью команды get-state вы можете узнать состояние устройства:

adb get-state

Команда вернет одно из значений: device - работает, bootloader - загружается, offline - выключено. С помощью команды status-window можно постоянно отслеживать состояние:

adb status-window

Просмотр журналов

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

adb logcat

Утилита выводит содержимое логов Android в реальном времени, так что вы сразу увидите все сообщения об ошибках. Также можно записать все в файл:

adb logcat -d > ~/android.log

С помощью опции -c можно очистить все логи на устройстве:

adb logcat -c

Не всегда нужно смотреть полный системный лог, иногда будет достаточно только увидеть сообщения нужной программы.. Для этого просто укажите имя пакета:

adb logcat com android.settings

С помощью опции --log-level можно установить уровень подробности сообщений, доступны такие варианты: V, D, I, W, E, F, S. Для выбора подробности вывода укажите нужную букву через двоеточие после имени приложения:

adb logcat com android.settings:E

Или выведем только ошибки для всей системы целиком:

adb logcat *:E

Передача файлов на устройство

Если вам нужно быстро отправить файл на устройство, для этого можно использовать команду push. Вот ее синтаксис:

$ adb push /адрес/локального/файла /адрес/удаленного/файла

Например, загрузим файл из домашней папки на устройство:

adb push ~/file /sdcard/file

Файл будет мгновенно передан на устройство и вы можете в этом убедиться. Дополнительно можно использовать опцию -p для отображения прогресса, а также опцию -a чтобы сохранить оригинальный timestamp.

Загрузка файла с устройства

Таким же образом вы можете скачать файл с устройства. Синтаксис команды pull:

$ adb push  /адрес/удаленного/файла /адрес/локального/файла

Например, скопируем отправленный файл обратно:

adb pull /sdcard/file ~/file1

Установка приложений

С помощью adb можно напрямую устанавливать приложения. Эта возможность может быть очень удобной для разработчиков. Команде install нужно передать только адрес apk файла:

adb install ~/Momentum_apkpure.com.apk

После этого приложение установлено и готово к работе на вашем устройстве. Если вам нужно обновить приложение до более новой версии, тогда используйте опцию -r. Это очень важно. Иначе получите ошибку:

adb -r install~/Momentum_apkpure.com.apk

Еще доступны опции -s - для установки на флешку и -d - для понижения версии программы.

Удаление приложений

Удалить приложение тоже очень просто. Для этого достаточно передать имя его пакета команде uninstall. Например, удалим браузер Firefox:

adb uninstall org.mozilla.firefox

Резервное копирование

Вы можете создать резервную копию своей прошивки и всех системных файлов Android для того, чтобы ее потом очень просто и быстро восстановить. Для этого используется команда backup. Сначала рассмотрим ее синтаксис:

$ adb backup опции пакеты

Опции указывают какие данные нужно копировать. Каждая опция может иметь приставку no, которая означает, что эти данные копировать не нужно. Рассмотрим основные опции:

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

Последний параметр позволяет указать какие приложения нужно сохранять. Если указана опция all, то, естественно, что этот параметр не нужен. Таким образом, команда для резервного копирования системы будет выглядеть вот так:

adb backup -apk -obb -shared -all -f backup.ab

С помощью опции -f мы задаем имя файла архива, он будет сохранен в текущей папке. Если его не задать, то имя по умолчанию будет backup.ab. Вам нужно будет подтвердить создание копии на телефоне, можно ввести пароль для шифрования:

 

Для восстановления из резервной копии используйте команду restore. Ей достаточно передать адрес файла:

adb restore android.ab

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

В утилиты adb есть даже команды для перезагрузки устройства. Можно просто перезагрузить смартфон с помощью команды reboot:

adb reboot

Можно загрузиться в режим recovery:

adb reboot recovery

Или в режим настройки загрузчика:

adb reboot bootloader

Консоль Android

С помощью команды shell вы можете войти в консоль Android и выполнять там необходимые действия. Здесь доступно большинство привычных нам команд linux. Мы подробно рассматривали все доступные команды в статье команды Android Terminal Emulator. Сейчас же поговорим про саму команду shell и приведем несколько примеров. Чтобы войти в консоль наберите:

adb shell

Дальше откроется командная строка adb на Android. Если вам не нужна консоль, а нужно только выполнить команду и вернуть результат, то вы можете передать команду сразу после shell:

adb shell ls /system

Например, с помощью такой команды вы можете сделать снимок экрана:

adb shell screencap -p /sdcard/screenshot.png

А так можно снять экран смартфона на видео:

adb shell screenrecord /sdcard/video.mp4

Выводы

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

17 комментариев к “Команды adb для Android пользователей”

  1. Можно ли таким способом удалять с Андроида программы установленные уже при покупке телефона и требующие при удалении права root?

    Ответить
  2. Запустил команду adb -s 0123456789ABCDEF logcat
    а она как начала писать что-то бесконечное.. не выдержал и нажал ctrl+C прервав процесс.. надеюсь ничего страшного.
    Неужели так долго нужно было перепрописывать имя устройство.. или о чём эта команда?

    Ответить
    • Правильно она начала все писать. Команда выводит сообщения журнала работы устройства. Новые сообщения постоянно появляются и постоянно выводятся. Это нормально.

      Ответить
  3. Попытался создать резервную копию. Всё, вроде, создалось, но размер файла backup.ab всего 41 Б. И это для 4 ГБ телефона и 4 ГБ sdcard. Явно что-то не так. Опцию -all прописал. В чём я ошибся?

    Ответить
  4. Добрый день!
    Подскажите пожалуйста, возможно ли через adb. устанавливать в смартфон без root моды, предназначенные для рутированных устройств.
    Спасибо!

    Ответить
  5. Спасибо! Все получилось, на смартфоне нет родного "Файлового менеджера", Google Play не работает, нужно было установить как-то необходимые программы... Воспользовался инструкциями выше на (Linux Mint 19.1 x64 Cinnamon) в LiveCD режиме, собственно, с него и пишу, завершив работу со смартфоном.

    но при вводе команды $ adb devices выдавало ошибку:
    19031211 no permissions (user in plugdev group; are your udev rules wrong?); see [http://developer.android.com/tools/device.html]

    помогла статья по этой ссылке, (извиняюсь за "рекламу" источников, но может у кого-то возникала похожая проблема, на всякий случай...)
    http://mldav.blogspot.com/2012/03/android-adb-no-permissions.html

    после чего все стало на свои места: $ adb devices
    List of devices attached
    19031211 device

    Установил необходимые программы! 🙂

    Ответить
  6. Спасибо большое за полезный ОБЗОР.
    Купил смартфон с демо-версией, RETAIL DEMO с работающим модемом для сим-карты.
    Практически ВСЕ ненужное заморозил с помощью проги adb.
    Получился, практически отличный смартфон, за исключением "щадящей зарядки" который используют для стендовых аппаратов. И как результат, - зарядка до 70-85%
    Хочу задать вопрос, - существует-ли команда для ADB Shell (по аналогу включения блокировки, которым я запустил у себя блокировку экрана) для ВКЛЮЧЕНИЯ полноценной зарядки аккума.
    Заранее благодарен за помощь!

    Ответить
  7. Добрый день! как вводная статья очень хорошо.
    У меня вопрос, как отредактировать фаил HOSTS на андройде через adb?
    Андройд не рутироован, фаил просматриваю через more, на все попытки запустить команду редактор файла отвечает not found. Чего не хватает или что не правильно делаю? за ранее благодарю!

    Ответить
  8. Приветствую!
    Отличная статья, столкнулся с проблемой.
    Samsung A51
    есть "Game Optimazing Service" пытаюсь его как то отключить.
    Из-за него в играх плохо работают long tap т.е. не удерживается кнопка долго. Нажимается но нажатие тут же прекращается. Методом экспериментов выяснил что если остановить этот сервис, всё прекрасно работает. Но проблема в том что он не удаляется через ABD хотя пишет что удалено.
    И эта зараза после остановки перезапускается через 30сек - 5минут.

    Ответить
  9. Помогите, пожалуйста, если можете. В какой папке на устройстве под управлением Android 10 находит(ят)ся файл(ы) настроек ADB?

    Ответить
  10. В тексте ошибка в разделе "ЗАГРУЗКА ФАЙЛА С УСТРОЙСТВА"
    В описание приводится $ adb push. А в примере adb pull.
    Поправьте пожалуйста.

    Ответить
  11. Кто может подсказать. Команда установки у меня успешно выполнилась. Но команду adb uninstall не получается осущесвить. Вот так у меня записано C:\Users\User>adb uninstall имя файла Получаю следующее -
    Exception occurred while executing:
    java.lang.IllegalArgumentException: Unknown package: имя файла ..
    at com.android.server.pm.Settings.getInstallerPackageNameLPr(Settings.java:5057)
    at com.android.server.pm.PackageManagerService.getInstallerPackageName(PackageManagerService.java:28098)
    at com.android.server.pm.PackageManagerService.isOrphaned(PackageManagerService.java:28104)
    at com.android.server.pm.PackageManagerService.deletePackageVersioned(PackageManagerService.java:24213)
    at com.android.server.pm.PackageInstallerService.uninstall(PackageInstallerService.java:1005)
    at com.android.server.pm.PackageManagerShellCommand.runUninstall(PackageManagerShellCommand.java:912)
    at com.android.server.pm.PackageManagerShellCommand.onCommand(PackageManagerShellCommand.java:134)
    at android.os.ShellCommand.exec(ShellCommand.java:96)
    at com.android.server.pm.PackageManagerService.onShellCommand(PackageManagerService.java:28908)
    at android.os.Binder.shellCommand(Binder.java:581)
    at android.os.Binder.onTransact(Binder.java:481)
    at android.content.pm.IPackageManager$Stub.onTransact(IPackageManager.java:3209)
    at com.android.server.pm.PackageManagerService.onTransact(PackageManagerService.java:5146)
    at android.os.Binder.execTransact(Binder.java:682)

    что не так?

    Ответить

Оставьте комментарий