Какие команды ADB можно использовать?
В статье про то как включить и пользоваться ADB мы разобрали только само включение, а вот, что конкретно можно сделать пропустили. Чтож исправим это. Работать будем под Windows 10 в среде PowerShell. Также будем считать, что телефон уже подключен к компьютеру и определяется.
Копирование файла на устройство и обратно
Команда PUSH — толкаем в телефон
Для передачи файлов на устройство есть команда PUSH или в переводе, «толкать». Мы заталкиваем файл в телефон.
Первый аргумент указывает на файл который мы хотим передать, а второй куда хотим поместить.
Если во второй аргумент передать кроме пути еще и имя для файла то он будет переименован.
- Для удобства положим нужный файл рядом с ADB.exe
- Запустим консоль от туда же
- Выполним команду adb push your_file.txt /sdcard
- Видим ответ на нашу команду, если это, что-то похожее на your_file.txt: 1 file pushed. Значит все прошло удачно.
Команда PULL — тянем из телефона
Эта команда обратна предыдущей. Она тянет файл с телефона на компьютер.
Первый аргумент это файл на устройстве, а второй место куда поместить на пк. Если не указывать второй параметр, то файл будет помещен в место от куда была запущена консоль.
Выполнив команду adb pull /sdcard/your_file.txt, мы обнаружим файл в папке где находились в консоли, то-есть рядом с adb.exe.
Установка и удаление приложений
Установка APK
Для установки приложения с пк сразу на телефон есть команда adb install. Ей нужно передать apk файл для установки.
adb install your_application.apk
У этой команды есть несколько режимов. Если приложение уже установлено и его нужно обновить необходимо установить флаг -r, иначе получим ошибку. Если нужно понизить версию то -d. Или установить сразу на флешку -s
adb -r install your_application.apk
После выполнения команды, приложение установиться на телефон и будет готово к работе.
Удаление приложения с телефона
Аналогично установке, можно и удалять приложения. Для этого существует команда
adb uninstall org.your.app
Где org.your.app, название пакета нужного приложения.
Просмотр логов системы
Очень полезным бывает посмотреть ошибки или предупреждения приложений на телефоне. Это помогает устранить проблемы со своими или чужими приложениями, которые работают как то не правильно. Для этого существует команда
adb logcat
Вы сразу начнете видеть сообщения приложений в реальном времени, но их часто очень много и уследить за тем, что действительно нужно, бывает сложно. Для того что бы было удобно, можно использовать специальные флаги запуска.
- adb logcat com.your.app — просмотр лога определенного приложения
- adb logcat com.your.app:E — через двоеточие можно установить параметр фильтрации сообщений. Например :E выводит только ошибки. V, D, I, W, E, F, S
- Вместо названия пакета приложения можно поставить звездочку *, тогда будут отображаться все приложения, а их уже можно отфильтровать например только на ошибки :E
- adb logcat -c — Удаляет все логи с устройства
Резервное копирование
Копирование слепка устройства на пк
Можно сделать слепок, или бэкап устройства для последующего его восстановление в прежнее состояние. Для этого есть простая команда
adb backup настройки файл_куда_сохранить_все
- -apk Сохранит все APK файлы
- -system Сохраняет системные приложения
- -all Сохраняет все приложения
- -obb Сохраняет файлы приложений, которые скачиваются например для игр
- -shared Сохраняет данные приложений, сохранения, настройки.
- -f Выбрать название для бэкапа, если не указывать будет стандартное имя backup.ab
После запуска, на телефоне нужно будет подтвердить копирование. Так-же можно установить пароль на архив.
Восстановление из резервной копии
Для восстановления достаточно передать команде adb restore имя файла бэкапа.
adb restore backup.ab
Перезагрузка в различные режимы
С помощью ADB можно перезагрузить устройство в режим recovery или fastboot. Обычная перезагрузка конечно тоже есть.
- adb reboot — Перезагрузка
- adb reboot recovery — Перезагрузка в рекавери
- adb reboot bootloader — Перезагрузка в Fastboot
Итог
Это не все команды для работы с устройствами, но одни из основных. Так же можно запустить linux командную строку от устройства и выполнять команды уже от нее.
Как включить и пользоваться ADB?
ADB — Это Android Debug Bridge, что переводиться как «отладочный андроид мост». Служит он, как уже ясно из названия, для отладки андроида или отдельных приложений. С его помощью можно делать все действия, которые может делать пользователь и даже больше, однако для «больше» нужен ROOT доступ.
Чаще всего, ADB используется для прошивки или изменения каких то настроек, скрытых файлов и тд. Так-же можно просматривать логи прямо в реал-тайме (для этого есть спец. программы, которые куда удобнее командной строки), устанавливать программы, менять настройки и все в таком духе.
Я например использую подключение для тестирования своих андроид проектов. Нажимаешь кнопку «Build and run» и программа или игра собирается в пакет, отправляется на телефон и устанавливается, после чего еще и запускается. Удобно. Именно о таком способе использования и пойдет речь сегодня.
Как включить ADB?
Для того что-бы включить ADB на вашем устройстве на базе андроида, необходимо выполнить несложный ряд действий.
- Зайти в настройки -> О телефоне
- Нажимать на «Номер сборки», пока не появиться сообщение «вы стали разработчиком».
- Выйти в меню настроек и найти новый пункт «Для разработчиков»
- Включить пункт «отладка по USB»
По сути, это все, для включения ADB. Но для работы еще необходимы драйвера. Скачать универсальные можно тут . Эти драйвера подходят для большинства андроид телефонов, планшетов и других устройств на этой операционной системе. В 99% случаев у вас не будет с ними проблем. Однако производитель устройств часто выкладывают свои ADB драйвера на официальном сайте, часто, это просто копия универсальных драйверов, но бывают и исключения. Поэтому если ваше устройство не подключается с универсальными драйверами, попробуйте специальные от производителя.
Скачать ADB на компьютер
Конечно, для работы нужна сама программа ADB для пк. Точнее это архив с несколькими утилитами. Вот ссылка на официальную страницу от Google. ссылка. На странице есть ссылка на архив для windows, mac, linux. Жмем «Download SDK Platform-Tools for Windows» или другую платформу. Распаковываем архив в C:/adb для удобства.
Как пользоваться?
Пользоваться можно через командную строку или UI интерфейс. Через командную строку делается это так:
- Пуск -> выполнить или WIN+R
- Пишем команду «CMD«
- Переходим в папку с ADB с помощью команды «CD C:/adb»
Далее пишем команды которые необходимы. Например, проверим, подключился ли телефон по мосту.
Пишем «adb devices». В консоли пробегут строчки о запуске сервера и выдастся список подключенных девайсов
c:\adb>adb devices List of devices attached * daemon not running. starting it now on port 5037 * * daemon started successfully * List of devices attached 1d886e2 device
Последняя строчка означает, что телефон подключен. Отлично!
Теперь можно вводить любые доступные команды, список которых можно посмотреть тут.
Консольки, это конечно хорошо, но давайте разберем конкретный пример.
Предположим, вы разрабатываете игру на Unity. Вам необходимо ее проверить на телефоне. Что для этого нужно? Просто подключите телефон к пк, а в Unity в окне Build выберете устройство из списка. Далее жмем кнопку «Build and run» и ждем. Готово.
Как использовать ADB по WIFI?
Да, да, вам не показалось, полный контроль можно получить и без проводов и да, это опасно. Однако, подключиться к телефону можно только если разрешить это делать.
- Во-первых нужно в меню разработчика включить эту функцию (есть не на всех устройствах).
- Во-вторых она выключается при перезагрузке.
- И в-третьих при первом подключении с неизвестного устройства вылезет запрос на подтверждение, можно ли подключиться.
Однако, не все так просто. Что-бы все заработало, кабель все же понадобиться.
- Подключаем девайс по USB
- Открываем консоль и переходим в папку ADB, как уже делали выше.
- Убеждаемся что девайс и комп в одной Wi-Fi сети.
- Пишем adb tcpip 5555
- Пишем adb connect IP_ДЕВАЙСА. Адрес можно подсмотреть в настройках wifi вашей сети.
Обычно после этого достаточно выполнять только пункт 5. После этого ADB должен работать без проводов. Пользоваться им точно так же как и по проводу.
Прикладное adb (Android Debug Bridge) для зумеров
Это обзорная статья для таких же, как и я, которые начали программировать уже в тот момент, когда весь функционал командной строки обрел кнопочки в интерфейсе.
В этой инструкции хочу рассказать о командах adb , которые использовать легче, чем делать то же самое через UI Android Studio или настройки Android.
Основная задача — показать возможности adb , которые избавят от рутинных шагов при разработке/отладке. Например, позволят быстро переключать светлую тему на темную.
Рассмотрим те команды, которые действительно пригождаются хотя бы раз в пару дней. Для остального есть документация.
Денис Долгополов
Что такое ADB
adb (Android Debug Bridge) — это программа для управления андроидом через командную строку.
https://developer.android.com/tools/adb — тут есть более правильное определение + объяснение, почему adb называют клиент-серверным приложением.
Сменить тему (светлая/темная)
// перейти на темную тему adb shell cmd uimode night yes // перейти на светлую тему adb shell cmd uimode night no
Принудительная остановка приложения
adb shell am force-stop ru.test.app
Удалить кэш и данные приложения
adb shell pm clear
Включить/выключить Wi-Fi
adb shell svc wifi enable adb shell svc wifi disable
Удалить файл
Без root-прав некоторые директории будут недоступны через adb
adb shell rm "/records/albums/music.mp3"
Отправить Intent
Пригождается, когда нужно сэмулировать Intent от системы:
adb shell am broadcast -a android.media.tv.action.INITIALIZE_PROGRAMS -n ru.app.test/ru.app.test.featureName.TestBroadcastReceiver
adb shell am start -a android.intent.action.VIEW -d "mydeeplink"
Или запустить Activity:
adb shell am start -n ru.test.app/.feature.main.MyActivity
Установить proxy ip
Если вы пользуетесь Charles/Proxyman или другой программой для работы с трафиком, то можете быстро установить proxy ip командой:
adb shell settings put global http_proxy 192.168.1.12:8888
Сбросить proxy ip:
adb shell settings put global http_proxy :0
Изменить плотность экрана
Удобно для тестирования UI на разных разрешениях:
adb shell wm density 160 например adb shell wm density 160
Узнать, какая изначальная плотность экрана:
adb shell wm density // Physical density: 440 // Override density: 160
Установить apk
adb install -d -r -g "C://downloads/. /test.apk"
аргументы (лишние убрать):
- -r — сохранить данные приложения (например, информацию в shared preferences)
- -g — выдать все разрешение, запрашиваемые в манифесте
- -d — отключает проверку версии приложения (по умолчанию версия устанавливаемого приложения должна быть равна или больше версии установленного)
Подключение по Wi-Fi
Необходимо, чтобы компьютер и телефон находились в одной сети. На Android нужно включить «Отладку по Wi-Fi» в настройках разработчика.
adb connect ip:port например: adb connect 192.168.1.12 или adb connect 192.168.1.12:5555
Список подключенных устройств и их ip
adb devices
Выбор определенного устройства
Если вы работаете с несколькими устройствами, то чтобы отправить любую команду на определенное устройство (а не получать ошибку List of devices attached ), можно передать аргумент -s ip
adb -s 192.168.1.12 uninstall ru.test.app
Заключение
Когда определите для себя топ удобных команд, можно сделать для них alias (псевдонимы для длинных команд). Тогда использование adb станет действительно удобнее, чем GUI .
- android
- android development
- adb
- android debug bridge
- android studio
- андроид
- разработка приложений
- разработка
- разработка под android
- мобильная разработка
При подготовке материала использовались источники:
https://you-hands.ru/2020/08/15/kakie-komandy-adb-mozhno-ispolzovat/
https://you-hands.ru/2019/11/08/kak-vklyuchit-i-polzovatsya-adb/
https://habr.com/ru/articles/751092/