Это приложение поможет запустить локальную оболочку ADB без ROOT
Команды оболочки ADB могут пригодиться вам в самых разных случаях. Например, вам нужно сделать планшет Amazon Fire таким, чтобы он походил на стандартный Android, основательно поменять скорость анимации телефона или просто вернуть двухкнопочную навигацию в OnePlus 7.
Для запуска данных команд вы обязательно должны настроить на компьютере Android Debug Bridge (ADB) и подключить телефон через USB или беспроводной интернет. Это не во всех случаях удобно.
Вот где на помощь приходит недавно появившееся приложение LADB, которое даёт возможность осуществлять запуск команд оболочки непосредственно на телефоне с использованием беспроводного протокола ADB. Правда, людям, которые не успели установить на телефоны ОС Android 11, сделать это будет не так просто.
LADB — сервер ADB, где имеются библиотеки различных приложений. В стандартных условиях данный сервер не подключается к тому устройству, где он уже имеется, однако LADB позволяет обмануть сервер таким образом, что для него клиент выступает совершенно другим устройством. Так как localhost не выставляет требования о наличии подключения к интернету, у вас есть возможность применять LADB в тот момент, когда устройство находится в «режиме полёта».
Установка
Первым делом вам следует установить LADB. Его можно приобрести в Play Store за 3,99$. Но у вас есть возможность скомпилировать его путём закачки исходных кодов на Github.
Так как в Android 11 есть новая опция беспроводной отладки, процесс установки в новой версии ОС и в предыдущих отличается. Единый для всех версий Android этап заключается в том, что вначале следует осуществить активацию параметров разработчика. Это можно сделать путём открытия раздела с настройками системы.
Необходимо найти номер сборки телефона. Данная информация помещается разработчиком в раздел «О телефоне». Однако у вас есть возможность её посмотреть в настройках. После этого следует нажать на номер семь раз. По завершении данного этапа в настройках вашей системы можно будет увидеть совершенно новый раздел «Для разработчиков» (системные настройки > система > расширенные > настройки разработчика на телефонах Pixel, на других телефонах он должен находиться в таком же месте).
Что делать далее, зависит от версии Android.
Android 11
В этой операционной системе вам следует открыть раздел для разработчиков, где находится беспроводная отладка, включить переключатель и подтвердить действие, нажав «Allow» (Разрешить). У вас появится возможность соединения устройств.
Выберите эту опцию, чтобы войти в режим разделения экрана (на телефонах Pixel для этого нужно нажать и удерживать значок приложения в многозадачном режиме). Откройте LADB в новом окне. Там нужно ввести код соединения и номер порта (в моём случае данный процесс затормозил, так как отсутствовала возможность видеть поле для ввода текста в LADB при открытии клавиатуры.
Но, возможно, эта проблема была связана с небольшим по размеру экраном моего Pixel 3). Не нужно выключать дисплей после ввода порта и кода, так как они изменятся, когда закроется меню разработчика. Это ещё одна из причин, свидетельствующая о том, что вам следует в этой ситуации применять разделённый экран.
Отладка по беспроводной сети выключается автоматически после перезагрузки телефона. В связи с этим вам необходимо осуществить перенастройку в тот момент, когда вам захочется заново подсоединиться. Я тоже перезапускал LADB, предварительно очистив данные приложения (нажатие и удержание значка приложения на панели запуска > информация о приложении > хранилище и кеш > очистить хранилище) для возврата к экрану соединения после отключения. Будем надеяться, что в ближайшем будущем эту ошибку исправят.
Android 10 и более ранние версии
Для запуска беспроводного моста отладки на данной версии Android и более ранних версиях вам первым делом следует установить на компьютер ADB. Это делается в том случае, если у вас его ещё нет. После вы должны приступить к активации USB-отладки в настройках разработчика, а уже потом подсоединить телефон непосредственно к компьютеру.
Удостоверьтесь, что связь установлена путём ввода adb devices в терминале. Для активации беспроводной отладки вы должны ввести adb tcpip 5555. Следует выключить телефон и открыть LADB, автоматически устанавливающий соединение.
Тогда беспроводной ADB будет отключён автоматически после выключения телефона. В связи с этим вам постоянно нужно будет повторно настраивать соединение при перезагрузке своего гаджета.
Применение
После завершения процесса настройки вы уже можете с уверенностью пользоваться LADB и выполнять любые команды оболочки ADB. Помните, что все команды должны вводиться вами без набора перед ними комбинации adb shell. Если у вас появится желание экспортировать выходные данные в виде текстового файла, то вам необходимо просто нажать на кнопку «Share» (Поделиться), которая располагается в правой верхней части приложения.
Приложение пока ещё не является идеальным. В связи с этим им, возможно, будет трудно пользоваться, если на телефоне не установлен Android 11. Но по мере обновления операционок до последней версии данное приложение будет становиться полезным для большего количества пользователей. Встречается такое, что беспроводной ADB включён производителями в опции разработчика на телефонах старых моделей. В связи с этим следует проверить доступность приложения именно на вашем гаджете.
Поддержка локальной оболочки ADB — это не что-то сверхъестественное. Tasker представил данную функцию ещё в феврале. Инструменты Termux и pure-python-adb представлены пользователям давным-давно.
Но по сравнению с ними LADB является менее сложным способом, с помощью которого можно запустить локальную оболочку ADB. Это очень удобно в тех случаях, когда вы не нуждаетесь во всех расширенных функциях, которые идут вместе с Tasker, Termux и т.д.
Источник
Local adb android 9
Platform-tools: r31.0.3
ADB: 1.0.41 (31.0.3-7562133)
Fastboot: 31.0.3-7562133
Make_f2fs: 1.14.0 (2020-08-24)
Mke2fs: 1.46.2 (28-Feb-2021)
Последнее обновление утилит в шапке: 01.08.2021
ADB (Android Debug Bridge — Отладочный мост Android) — инструмент, который устанавливается вместе с Android-SDK и позволяет управлять устройством на базе ОС Android.
Работает на всех Android-устройствах, где данный функционал не был намеренно заблокирован производителем.
Здесь и далее: PC — ПК, компьютер к которому подключено устройство.
ADB — консольное приложение для PC, с помощью которого производится отладка Android устройств, в том числе и эмуляторов.
Работает по принципу клиент-сервер. При первом запуске ADB с любой командой создается сервер в виде системной службы (демона), которая будет прослушивать все команды, посылаемые на порт 5037.
Официальная страница
ADB позволяет:
- Посмотреть какие устройства подключены и могут работать с ADB.
- Просматривать логи.
- Копировать файлы с/на аппарат.
- Устанавливать/Удалять приложения.
- Удалять (очищать) раздел data.
- Прошивать (перезаписывать) раздел data.
- Осуществлять различные скрипты управления.
- Управлять некоторыми сетевыми параметрами.
Поставляется ADB в составе инструментария разработчика Андроид (Android SDK), который, в свою очередь входит в состав Android Studio.
Если что-то неправильно, то в списке подключенных устройств (List of devices attached) будет пусто.
Скрытые команды ADB
adb -d Команда посылается только на устройство подключенное через USB.
Внимание: Выдаст ошибку, если подключено больше одного устройства.
adb -e Команда посылается на устройство в эмуляторе.
Внимание: Выдаст ошибку, если подключено больше одного эмулятора.
adb -s Команда посылается на устройство с указанным серийным номером:
adb -p Команда посылается на устройство с указанным именем:
Если ключ -p не указан, используется значение переменной ANDROID_PRODUCT_OUT.
adb devices Список всех подсоединенных устройств.
adb connect [: ] Подсоединиться к андроид хосту по протококу TCP/IP через порт 5555 (по умолчанию, если не задан).
adb disconnect [ [: ]] Отсоединиться от андроид подключенного через TCP/IP порт 5555 (по умолчанию, если не задан).
Если не задан ни один параметр, отключиться от всех активных соединений.
adb push Копировать файл/папку PC->девайс.
adb pull [ ] Копировать файл/папку девайс->PC.
adb sync [ ] Копировать PC->девайс только новые файлы.
Ключи:
-l Не копировать, только создать список.
adb shell Запуск упрощенного unix shell.
Примеры использования
adb emu Послать команду в консоль эмулятора
adb install [-l] [-r] [-s] Послать приложение на устройство и установить его.
Пример: adb install c:/adb/app/autostarts.apk Установить файл autostarts.apk лежащий в папке /adb/app/ на диске с:
Ключи:
-l Блокировка приложения
-r Переустановить приложение, с сохранением данных
-s Установить приложение на карту памяти
Установка split apk
adb uninstall [-k] Удаление приложения с устройства.
Ключи:
-k Не удалять сохраненные данные приложения и пользователя.
adb wait-for-device Ждать подключения устройства.
adb start-server Запустить службу/демон.
adb kill-server Остановить службу/демон.
adb get-state Получить статус:
offline Выключен.
bootloader В режиме начальной загрузки.
device В режиме работы.
adb get-serialno Получить серийный номер.
adb status-window Непрерывный опрос состояния.
adb remount Перемонтировать для записи. Требуется для работы скриптов, которые изменяют данные на.
adb reboot bootloader Перезагрузка в режим bootloader.
adb reboot recovery Перезагрузка в режим recovery.
adb root Перезапуск демона с правами root
adb usb Перезапуск демона, прослушивающего USB.
adb tcpip Перезапуск демона, прослушивающего порт TCP.
adb ppp [параметры] Запуск службы через USB.
Note: you should not automatically start a PPP connection. refers to the tty for PPP stream. Eg. dev:/dev/omap_csmi_tty1
Параметры:
defaultroute debug dump local notty usepeerdns
FastBoot — консольное приложение для PC. Используется для действий над разделами
fastboot devices Список присоединенных устройств в режиме fastboot.
fastboot flash Прошивает файл .img в раздел устройства.
fastboot erase Стереть раздел.
Разделы: boot, recovery, system, userdata, radio
Пример: fastboot erase userdata Стирание пользовательских данных.
fastboot update Прошивка из файла имя_файла.zip
fastboot flashall Прошивка boot + recovery + system.
fastboot getvar Показать переменные bootloader.
Пример: fastboot getvar version-bootloader Получить версию bootloader.
fastboot boot [ ] Скачать и загрузить kernel.
fastboot flash:raw boot [ ] Создать bootimage и прошить его.
fastboot devices Показать список подключенных устройств.
fastboot continue Продолжить с автозагрузкой.
fastboot reboot Перезагрузить аппарат.
f astboot reboot-bootloader Перезагрузить девайсв режим bootloader.
Перед командами fastboot можно использовать ключи:
-w стереть данные пользователя и кэш
-s Указать серийный номер устройства.
-p
Указать название устройства.
-c Переопределить kernel commandline.
-i Указать вручную USB vendor id.
-b Указать в ручную базовый адрес kernel.
-n
Указать размер страниц nand. по умолчанию 2048.
Команду logcat можно использовать с машины разработки
$ adb logcat
или из удаленного shell
# logcat Каждое сообщение лога в Android имеет тэг и приоритет
Тэг – это строка указывающая компонент системы, от которого принято сообщение (например: View для системы view)
Приоритет – имеет одно из нижеследующих значений (в порядке от меньшего к большему):
V — Verbose (Низший приоритет).
D — Debug
I — Info
W — Warning
E — Error
F — Fatal
S — Silent (Наивысший приоритет, при котором ничего не выводится).
Получить список тэгов, используемых в системе, вместе с их приоритетами можно запустив logcat. В первых двух столбцах каждого из выведенных сообщений будут указаны / .
Пример выводимого logcat сообщения:
I/ActivityManager( 585): Starting activity: Intent
Для уменьшения вывода лога до приемлемого уровня нужно использовать выражения фильтра. Выражения фильтра позволяют указать системе нужные комбинации и , остальные сообщения система не выводит.
Выражения фильтра имеют следующий формат : . где указывает нужный тэг, указывает минимальный уровень приоритета для выбранного тэга. Сообщения с выбранным тэгом и приоритетом на уровне или выше указанного записываются в лог. Можно использовать любое количество пар : в одном выражении фильтра. Для разделения пар : используется пробел.
Пример ниже выводит в лог все сообщения с тэгом «ActivityManager» с приоритетом «Info» или выше, и сообщения с тэгом «MyApp» и приоритетом «Debug» или выше:
adb logcat ActivityManager:I MyApp:D *:S
Последний элемент в выражении фильтра *:S устанавливает приоритет «silent» для всех остальных тэгов, тем самым обеспечивая вывод сообщений только для «View» и «MyApp». Использование *:S – это отличный способ для вывода в лог только явно указанных фильтров (т.е. в выражении фильтра указывается «белый список» сообщений, а *:S отправляет все остальное в «черный список»).
При помощи следующего выражения фильтра отображаются все сообщения с приоритетом «warning» или выше для всех тэгов:
adb logcat *:W
Если logcat запускается на машине разработчика (не через удаленный adb shell), можно также установить значение выражения фильтра по умолчанию задав переменную окружения ANDROID_LOG_TAGS:
export ANDROID_LOG_TAGS=»ActivityManager:I MyApp:D *:S»
Следует обратить внимание что задав переменную окружения ANDROID_LOG_TAGS она не будет работать в эмуляторе/устройстве, если вы будете использовать logcat в удаленном shell или используя adb shell logcat.
Вышеописанная команда export работает в ОС *nix и не работает в Windows.
Контроль формата вывода лога
Сообщения лога в дополнение к тэгу и приоритету содержат несколько полей метаданных. Можно изменять формат вывода сообщений показывая только конкретные поля метаданных. Для этого используется параметр -v и указывается один из ниже перечисленных форматов вывода.
brief Показывать приоритет/тэг и PID процесса (формат по умолчанию).
process Показывать только PID.
tag Показывать только приоритет/тэг.
thread Показывать только процесс:поток и приоритет/тэг.
raw Показать необработанное сообщение, без полей метаданных.
time Показывать дату, время вызова, приоритет/тэг и PID процесса.
long Показывать все поля метаданных и отдельно сообщения с пустыми строками.
При запуске logcat можно указать формат вывода используя параметр -v:
adb logcat [-v
Источник