LADB: как пользоваться приложением для локального ADB на Android

Приложение LADB (Local ADB) позволяет выполнять команды ADB прямо на смартфоне, без компьютера и без root-доступа — но для первого подключения требуется активная функция беспроводной отладки в настройках разработчика, которая появилась в Android 11. Если устройство работает на более старой версии системы, беспроводное сопряжение может быть недоступно, и это первое, что стоит проверить перед установкой приложения.

Суть работы LADB проста: приложение эмулирует ADB-сервер и клиент внутри самого телефона, подключаясь к системе по тому же протоколу, что и компьютер. Это открывает доступ к командам вроде pm uninstall, settings put, выдаче разрешений приложениям через pm grant и многому другому — без кабеля и ПК.

Что такое LADB и для чего оно нужно

LADB — это приложение с открытым исходным кодом, которое упаковывает ADB-сервер и клиент в одну программу для Android. Оно распространяется платно в Google Play, а также бесплатно в виде APK на странице проекта на GitHub — обе версии функционально одинаковы.

Типичные сценарии использования:

  • 🗑️ Удаление предустановленных системных приложений (bloatware) без root
  • 🔑 Выдача расширенных разрешений утилитам вроде Shizuku, App Ops, Tasker
  • ⚙️ Изменение скрытых системных настроек через команды settings put
  • 📦 Установка и удаление APK пакетными командами
  • 🧪 Тестирование команд разработчиками без подключения к компьютеру

Отдельно стоит понимать ограничение: LADB не даёт root-прав. Все команды выполняются с привилегиями shell-пользователя ADB, то есть недоступны операции, требующие полного контроля над системой.

Подготовка: включение параметров разработчика

Перед запуском LADB необходимо активировать режим разработчика. Для этого откройте Настройки → О телефоне и несколько раз подряд нажмите на пункт Номер сборки — система покажет уведомление о том, что вы стали разработчиком. На некоторых оболочках (MIUI, ColorOS, One UI) название пункта может отличаться, например «Версия MIUI» — точный путь зависит от прошивки, поэтому сверьтесь с документацией своей модели.

После этого в настройках появится раздел Для разработчиков. В нём нужно включить переключатель «Беспроводная отладка» (Wireless debugging). Именно через этот канал LADB устанавливает соединение с системой.

⚠️ Внимание: беспроводная отладка работает только при активном подключении к Wi-Fi. При выключенном Wi-Fi или в режиме полёта сопряжение с LADB не установится — включите сеть заранее.

Подключение LADB: пошаговая инструкция

Первое подключение — самый ответственный этап, потому что требуется одновременно видеть код сопряжения и вводить его в приложении. Удобнее всего использовать режим разделённого экрана.

☑️ Первое подключение LADB

Выполнено: 0 / 5

Порядок действий следующий. Откройте Настройки → Для разработчиков → Беспроводная отладка и нажмите пункт Сопряжение устройства с кодом сопряжения. Система покажет шестизначный код, IP-адрес и порт сопряжения. Затем, не закрывая это окно, запустите LADB в режиме разделённого экрана и введите код и порт в соответствующие поля.

Обратите внимание на важный нюанс: порт сопряжения и порт подключения — это разные значения. Для первичного сопряжения используется порт из диалога «Сопряжение устройства», а само ADB-соединение после сопряжения идёт через порт, указанный на главном экране «Беспроводной отладки». LADB обрабатывает оба этапа автоматически, если ввести данные из диалога сопряжения.

Если сопряжение прошло успешно, LADB покажет приглашение командной строки shell — можно вводить команды. Проверить соединение поможет простая команда:

adb devices

В списке должно появиться устройство со статусом device. Если статус unauthorized — подтвердите запрос на разрешение отладки в шторке уведомлений или в диалоге на экране.

📊 Для какой задачи вы используете LADB?
Удаление системных приложений
Выдача разрешений (Shizuku и др.)
Изменение скрытых настроек
Эксперименты и разработка

Основные команды и приёмы работы

После подключения LADB работает как обычный терминал ADB. Команды вводятся в строку ввода, результат отображается в истории вывода. Вот базовый набор, с которого стоит начать:

pm list packages

pm uninstall --user 0 com.example.app

settings put global window_animation_scale 0.5

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

Несколько полезных приёмов при работе с интерфейсом:

  • 📋 Долгое нажатие на строку вывода копирует текст в буфер обмена
  • ⬆️ Повторный ввод команды удобнее через историю, если ваш клиент её поддерживает
  • 🔍 Имя пакета приложения проще всего узнать через pm list packages | grep часть_названия

⚠️ Внимание: команда pm uninstall для системных приложений необратима в рамках текущей сессии пользователя без сброса к заводским настройкам или переустановки пакета через cmd package install-existing. Удаляйте только то, в назначении чего уверены.

Типичные ошибки и их решение

Чаще всего проблемы возникают не с командами, а с самим подключением. Ниже — симптомы, которые встречаются регулярно.

ПроблемаВероятная причинаЧто сделать
Сопряжение зависаетРазные порты сопряжения и подключенияВводить порт именно из диалога сопряжения
«Connection refused»Беспроводная отладка выключенаВключить переключатель заново
Соединение рвётсяЭнергосбережение убивает LADBОтключить оптимизацию батареи для приложения
«unauthorized»Не подтверждён отпечаток ключаРазрешить отладку в диалоге на экране
Нет пункта «Беспроводная отладка»Версия Android ниже 11 или ограничение прошивкиПроверить версию ОС; на старых версиях LADB не сработает

Отдельный частый случай — обрыв соединения после перезагрузки смартфона. Это нормальное поведение: беспроводная отладка на ряде устройств отключается при перезагрузке, а порт меняется. Потребуется заново включить отладку и повторить сопряжение.

Безопасность и ограничения

Работа через ADB — это доступ к системным функциям, поэтому стоит соблюдать осторожность. Не выполняйте команды из непроверенных источников, особенно те, что содержат rm, reboot в нестандартные режимы или изменение разделов. Ошибка в одной команде может привести к нестабильной работе системы.

Также учитывайте, что открытая беспроводная отладка — потенциальный вектор атаки в общедоступных сетях Wi-Fi. После завершения работы с LADB переключатель «Беспроводная отладка» разумно выключить.

Чем LADB отличается от Shizuku

Shizuku — это сервис, который предоставляет API для других приложений, а LADB — полноценный ADB-терминал. Shizuku сам по себе нуждается в активации через ADB, и LADB часто используют именно для её первичного запуска.

Альтернативы LADB

Если LADB по какой-то причине не подходит, существуют другие варианты локальной отладки. Приложение aShell предлагает похожий функционал ADB-терминала и распространяется бесплатно. Для разовых задач можно использовать классический ADB с компьютера через USB-кабель — это самый стабильный способ, не зависящий от Wi-Fi.

Выбор инструмента зависит от задачи: для постоянной работы удобнее приложение на телефоне, для разовых операций вроде прошивки или снятия логов надёжнее компьютер с официальными Platform Tools от Google.

Часто задаваемые вопросы

Работает ли LADB без root-доступа?

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

Почему LADB не находит пункт беспроводной отладки на моём телефоне?

Функция беспроводной отладки появилась в Android 11. На более старых версиях системы её нет, и LADB работать не сможет. Также на отдельных прошивках пункт может быть скрыт или переименован — проверьте раздел «Для разработчиков» в настройках своей модели.

Нужно ли заново сопрягать LADB после перезагрузки?

В большинстве случаев — да. Перезагрузка сбрасывает сеанс беспроводной отладки и меняет порт, поэтому процедуру сопряжения с кодом придётся повторить.

Можно ли через LADB удалить любое системное приложение?

Технически команда pm uninstall --user 0 работает для большинства пакетов, но удаление критичных компонентов системы может нарушить работу устройства. Удаляйте только те приложения, назначение которых вам известно, и предварительно узнайте, обратимо ли это для конкретного пакета.

LADB платный — есть ли бесплатная версия?

Да. Проект имеет открытый исходный код, и бесплатная сборка APK доступна на странице репозитория на GitHub. Платная версия в Google Play — способ поддержать разработчика и получать автоматические обновления.