Как сделать приложение системным через adb

Обновлено: 03.07.2024

Команды ADB и Fastboot: более 50 команд для управления, прошивки и обслуживания вашего Android устройства

Опытные пользователи Android знают, что для того чтобы сменить прошивку смартфона, установить на него кастомное рекавери, удалить устаовленные производителем приложения и пр., вам прежде всего понадобится ПК или другое Android устройство с программами ADB и Fastboot.

На Windows устройвах вам нужно будет также установить драйвер для ADB.

Те, кто не имеет компьютера, ноутбука или Windows планшета может воспользоваться Android устройством. Как это сделать описано в этой статье: ADB и Fastboot без компьютера, с помощью Android смартфона или планшета [Инструкция].

Чтобы произвести сопряжение вашего Android устройства с программами ADB и Fastboot вам нужно будет сделать следующее:

1. Включить в меню настроек вашего смартфона или планшета режим отладки через USB. Как его найти и включить описано в этом материале


3. В открывшемся окне командной строки выполните команду:

Существует множество инструментов для работы с подключенным с помощью USB-кабеля или Wi-Fi смартфоном. Особо развитые инструменты позволяют перемещать файлы, устанавливать и удалять софт, просматривать контакты, делать скриншоты экрана и даже отправлять СМС, однако ни один графический инструмент не сравнится с мощью, которую может дать консоль Android. В этой статье мы поговорим об ADB (Android Debug Bridge) — стандартном инструменте для отладки и работы с консолью Android с компа.


ОСНОВЫ РАБОТЫ С ADB

Для установки ADB на комп качаем Adb Kit и распаковываем в любую папку (рекомендую использовать названия папок без русских символов). Также скачиваем и устанавливаем драйверы ADB.

Работать с adb нужно из командной строки. Нажимаем Win + R и вводим cmd, далее переходим в папку, в которой лежит adb. Для моей папки команда будет следующей:

Чтобы не проделывать все эти манипуляции каждый раз, можно добавить нужную папку в переменную Path. Для этого необходимо зайти в «Панель управления Система

Проверим наше подключение к телефону с помощью следующей команды (она должна вывести список подключенных устройств):

С ADB можно работать через Wi-Fi. Для этого нужны права root и приложение WiFi ADB. Запускаем приложение, жмем переключатель и подсоединяемся к смартфону с помощью команды connect и показанного приложением IP-адреса:

Далее работа с ADB ничем не отличается.

1. Установка программ

ADB можно использовать для установки приложений без необходимости копировать их на смартфон. Достаточно выполнить такую команду:

В команду также можно добавить дополнительные ключи. Полезными будут -е — переустановить приложение с сохранением данных и -d — установить версию меньше текущей.

Программы можно и удалять, но для этого нужно знать название пакета (как узнать, расскажу чуть позже). На примере игры Angry Birds Seasons команда будет выглядеть так:

2. БЭКАП ПРИЛОЖЕНИЙ

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


-f указывает имя создаваемого файла и его расположение на компе. При отсутствии ключа будет создан файл backup.ab в текущем каталоге;

-apk|-noapk указывает, включать ли в бэкап только данные приложения или сам .apk тоже (по умолчанию не включает);
-obb|-noobb указывает, включать ли в бэкап расширения .obb для приложений (по умолчанию не включает);

-shared|-noshared указывает, включать ли в бэкап содержимое приложения на SD-карте (по умолчанию не включает);
-all указывает на необходимость бэкапа всех установленных приложений; -system|-nosystem указывает, включать ли в бэкап системные приложения (по умолчанию включает);

— перечень пакетов для бэкапа.
Если мы хотим создать бэкап всех несистемных прог, включая сами .apk, в определенное место, то команда будет выглядеть так:

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

3. КОНСОЛЬ В КОНСОЛИ

Наряду с упомянутой консолью, которая является DOS-консолью под Windows, в Android существует и своя. Она вызывается через adb shell и представляет собой по сути стандартную Linux-консоль, но с неполным набором команд, расширить который можно, установив из маркета BusyBox. Использовать эту консоль можно двумя способами. В интерактивном режиме она запускается командой

В консоли появляется знак $ (далее по тексту этот знак будет означать необходимость ввода предварительной команды adb shell), и после этого можно вводить серию команд, получая после каждой отклик. Второй способ — если необходимо ввести только одну команду, можно писать ее подряд за adb shell.

В шелле работают стандартные команды для копирования, перемещения и удаления файлов: cp, mv и rm. Можно менять каталоги (cd) и смотреть их содержимое (ls). Кроме стандартных Linux-команд, о которых можно узнать из любого справочника, в Android есть несколько своих специализированных инструментов, но, чтобы использовать некоторые из них, придется получить на смартфоне права root, а после запуска консоли выполнять команду su:


Пример работы команды ls для вывода информации о разделах


Вывод свободного пространства на устройстве командой adb shell df

4. СОЗДАНИЕ СКРИНШОТА

Выполняется одной строчкой:

После этого картинку нужно выдернуть из устройства ко- мандой adb pull:

В recovery скриншот можно сделать следующей командой:

Затем необходимо преобразовать файл fb0 в нормальное изображение с помощью FFmpeg, который нужно скачать и положить в папку с adb. Расширение необходимо ставить своего устройства:

5. ЗАПИСЬ ВИДЕО, ПРОИСХОДЯЩЕГО НА ЭКРАНЕ УСТРОЙСТВА

Данная команда начнет записывать видео с разрешением 1280 x 720 (если не указать, то будет использовано нативное разрешение экрана устройства), с битрейтом 6 Мбит/с, длиной 20 с (если не указать, то будет выставлено мак- симальное значение 180 с), с показом логов в консоли. Записанное видео будет находиться в /sdcard (файл video.mp4).

6. УПРАВЛЕНИЕ ПРИЛОЖЕНИЯМИ

Для управления приложениями используются две команды: pm (package manager) — менеджер пакетов и am (activity manager) — менеджер активностей. У данных команд есть немало ключей, которые можно посмотреть на портале разработчиков. Остановимся на некоторых.

Для начала получим список установленных на устройстве приложений в виде названий пакетов, которые пригодятся позже:

Добавив в конец -s, ты увидишь только системные приложения, -3 — только сторонние, -f покажет пути установки пакетов, а -d — отключенные приложе- ния. Далее, зная названия пакетов, можно совершать над ними различные насильственные действия :). Например, отключить ненужный календарь:

Ну а совсем удалить можно так:

Для использования activity manager понадобятся более глубокие знания структуры Android и понимание того, что такое Avtivity и Intent. Это позволит тебе запускать различные приложения, например браузер или настройки:

Завершить работу приложения можно противоположной командой:

Ну а убить все запущенные приложения — такой командой:

Тот же activity manager поможет сделать звонок на нужный номер телефона:

А так можно открыть страницу в браузере:


Запуск браузера из консоли

В данной команде input keyevent эмулирует нажатие кнопок и может исполь- зоваться как для хардварных, так и для кнопок внутри приложения. В нашем примере 22 соответствует перевод фокуса вправо (джойстик вправо — dpad right), а 66 — Enter.

С помощью команды input можно, например, разблокировать телефон. Для этого необходимо ввести:

Но данная команда не сработает на последних версиях Android. Для управле- ния питанием и беспроводными коммуникациями там используется утилита svc. Например, включить передачу данных через мобильную сеть или управлять Wi-Fi можно через команды

Также можно заставить смартфон оставаться включенным при подключении к USB-порту/зарядке/Wi-Fi-сети или всегда:

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

Кроме опции text, у команды input есть и другие. Полная форма команды такова:

В качестве источника можно указывать trackball, joystick, touchnavigation, mouse, keyboard, gamepad, touchpad, dpad, stylus, touchscreen. В качестве команд будут:

  • text (Default: touchscreen) [delay]
  • keyevent –longpress ( … (Default: keyboard)
  • tap (Default: touchscreen)
  • swipe duration(ms) ( (Default: touchscreen)
  • press (Default: trackball)
  • roll (Default: trackball)

Как видно из команд, можно, хотя и с трудом, управлять устройством через ко- манды input touch и input swipe при разбитом экране, если не поддерживается работа мышки через USB-OTG. Например, вытянуть шторку с уведомлениями получится так (отсчет координат идет от левого верхнего угла):

А так можно узнать разрешение экрана:

7. СИСТЕМНЫЕ УТИЛИТЫ

Кратко остановлюсь на нескольких полезных командах (работоспособность некоторых, однако, может зависеть от версии прошивки и модели телефона). Изменение DPI. Не требует root и работает на Android 5.0+. Стандартное значение для Nexus 5 — 480. При значении 420 на рабочем столе стокового лаунчера помещается пять иконок в ряд вместо четырех:

Подключение /system в режиме записи. Для части команд, которые меняют системные файлы, необходимо сначала перемонтировать раздел /system на запись. Это необходимо в том числе при удалении системных приложений. Перемонтирование выполняется следующей командой:

Мягкая перезагрузка:

$ setprop ctl.restart zygote

Перевод смартфона в режим энергосбережения Doze (Android M+): $ dumpsys battery unplug

…повторяем действия, пока не увидим idle. Батарейка в процентах (Android 4.4+):

8. СНЯТИЕ ЛОГОВ

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


Вывод команды adb logcat -b events

9. Продвинутый уровень

В одной из своих статей я показывал, как можно доставать информацию из баз данных различных приложений. Ну а теперь посмотрим, как проделать это прямо из консоли, не качая базы на комп и не устанавливая на устройство просмотрщики баз. Для этого используется команда sqlite3. Выведем на экран историю браузера Chrome:


Чтобы база читалась, необходимо выгрузить браузер из работающих приложений. Прервать выполнение скрипта sqlite можно, нажав Ctrl + Z, а выйти — командой .quit. Если в ответ на команду ты получишь ошибку /system/bin/sh: sqlite3: not found, значит, на смартфоне нет sqlite3 и ее придется скачать, заки- нуть в /system/bin и дать файлу все права. Я использую sqlite3, который выта- щил когда-то из Titanium Backup.

Также с помощью sqlite3 можно выдернуть все контакты с телефона. Для этого в консоли на компе должен использоваться шрифт Lucida Console и перед началом выполнения команд необходимо перевести кодировку на UTF-8. Иначе вместо русских букв будут отображаться непонятные символы. Сами команды выглядят так:


Если все сделано правильно, то в консоли ты увидишь таблицу с порядковым номером записи, номером телефона и контактами, отсортированными по имени. Для контактов с более одного номера будет несколько записей подряд.

Можно вывести данные не на экран, а сразу в текстовый файл. Для этого команды нужно изменить:

Альтернативный способ вывода контактов в файл — команда, требующая установленного BusyBox:

10. СНЯТИЕ ГРАФИЧЕСКОГО КЛЮЧА, PIN, FACELOCK

Допустим, ты забыл PIN или не совсем трезвым поставил графический ключ, ну или друзья пошутили и поставили распознавание по лицу… Так вот, если устройство по какой-то причине заблокировано, то блокировку можно снять (при условии включенной отладки по USB) через ту же консоль:

Команда удалит все пароли и графические ключи. Сами файлы в зависимости от прошивки и модели устройства могут быть: gesture.key, password.key, cm_ gesture.key, personalpattern.key, personalbackuppin.key. Также за блокировку от- вечают файлы locksettings.db, locksettings.db-shm, locksettings.db-wal.

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

ВЫВОДЫ

Как видишь, с помощью ADB можно сделать много интересного. И чем больше пользуешься консолью, тем быстрее можно выполнить некоторые действия без установки дополнительного софта на устройство. Надеюсь, данная статья помогла разобраться с ADB и подтолкнула к чтению документации и поиску новых полезных команд.

Что такое ADB? Adb (адб) команды для Андроид

Что такое ADB? Adb команды для Андроид. В данной статье вы узнаете что такое ADB для чего он нужен пользователям, а также как управлять им с помощью команд в Android терминале. Ну что же начнем изучать adb команды android…

Знакомимся с ADB

ADB (android debug bridge) это — средство отладки, выявление ошибок в приложениях, разблокировки девайсов на ОС Android и многое другое. Официальную документацию на английском языке можете прочитать на данном сайте .

Можно воспользоваться специальной программой Adb Run, облегчающая взаимодействие с ADB.
Также можете воспользоваться программой Android Терминал

Позаботьтесь чтобы на ПК были установлены драйвера, а на Android включена отладка по USB.

Adb команды android и Linux

Команды Adb можно разделить 3 типа, непосредственно для команды Adb, FastBoot (подробно о Fasboot) и команды Android.

Команды Adb

Чтобы убедиться, что все работает нормально и компьютер опознал Android необходимо ввести adb команду:

Что такое ADB? Adb (адб) команды для Андроид

на данном скрине видно что Android подсоединен

2. Подключение Android по WI-FI

Для того чтобы подключить Android по WI-FI сети необходимо получить ip адрес и порт устройства, в этом вам поможет приложение ADB Wireless (необходим Root)

после этого ввести команду:

Например вот так:

Более подробно о том как подключить Android через WI-FI — Отладка по USB.

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

Для того чтобы установить какое либо приложение с компьютера на Android необходимо ввести команду:

Как использовать и пример:

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

То есть написать команду adb install путь к приложению и название этого приложения.

Как использовать и пример

То есть написать adb команду путь к файлу, название файла и место где сохранить данный файл.

5. Принять файл c Android на ПК

Для того чтобы принять абсолютно любой файл с устройства Android на компьютер существует команда:

Как использовать и пример:

Для того чтобы с помощью команды Adb принять файл с Android на ПК необходимо. Написать:

То есть написать adb команду путь к файлу который находится на Android, название файла и место где сохранить данный файл на ПК.

6. Перезагрузка смартфона или планшета на Android

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

Команды перезагрузят Android в нормальный режим (обычная перезагрузка):

Команда перезагрузит Android в режим загрузки Bootloader

Команда перезагрузит Android в режим Recovery

7. Перейти в управление Android, после чего можно использовать команды ОС Android

Весь потенциал Android раскрывается после того когда вы переходите в управление Android где доступны многие команды linux. Для этого существует команда:

Команды в терминале Android

1. Команда стать суперпольвателем.

Суперпользователь или Root. Позволяет выполнять абсолютно все действия, от создания, модифицирования, изменения, до удаления конкретных системных файлов: Для этого введите команду:

До ввода команды

пользователь является Гостем в системе (многие действия заблокированы) и обозначается в начале терминала знаком доллар

после ввода команды

становится Админом и в терминале обозначается как американский номер

Что такое ADB? Adb (адб) команды для Андроид

2. Команда перейти в папку (в дальнейшем и правильней будет называть каталог вместо папки)

Для того чтобы перемещаться между разделам и каталогами в Android, существует специальная команда:

Пример чтобы перейти с раздела /sdcard в раздел /sdcard/xxx/porno/hot_girl

Для того чтобы вернуться с раздела на каталог выше либо обратно в /sdcard
если находимся в каталоге /sdcard/xxx/porno/ hot_girl — hot_girl

окажемся в каталоге

если необходимо подняться в /sdcard то

3. Переместить/Переименовать файл либо каталог.

Перемещение и переименование файла, каталога осуществляется c только одной командой:

Пример Переименовать файл

Пример Переименовать папку:

Пример как Переместить файл:

Пример как Переместить папку:

4. Просмотреть что есть внутри каталога

Для того чтобы узнать какие каталоги и файлы содержаться от места где вы находитесь используют следующую linux команду:

5. Копировать файл или папку (каталог).

Для того чтобы скопировать какой либо файл или папку и переместить куда либо:

6. Подсоединить раздел (примонировать) и отсоединить.

Для того чтобы узнать какие разделы существуют в Android, подключить или отключить:

Узнать какие разделы примотированы в данный момент, введите

Для того чтобы присоединить раздел:

Для того чтобы отсоединить раздел:

7. Создать каталог (папку)

Для того чтобы создать где либо папку используйте команду:

8. Удалить каталог (папку) или файл

Если необходимо удалить какой либо файл или папку linux команда:

Пример как удалить файл:

Пример как удалить папку:

9. Вывести содержимое файла на экран (прочитать)

Если перед вами стоит задача вывести на экран содержимое текстового файла:

10. Вывести содержимое файла на экран (прочитать в обратном порядке)

Если перед вами стоит задача вывести на экран содержимое текстового файла, но с конца в начало:

11. Показать полный путь

Для того чтобы понять в каком разделе и каталоге находитесь:

Пример: если находимся в каком либо каталоге и надо узнать полный путь (например находимся в системном разделе, каталог app)

12. Создать пустой файл

Для того чтобы создать текстовый файл:

Например создадим файл 666.txt в каталоге /sdcrad

13. Создание Резервной копии с раздела и восстановление

Пример создания Резервной копии на Sd карту

Пример Восстановления раздела с резервной копии с Sd карты

14. Просмотр занимаемого места файлом

Для того чтобы понять сколько занимает что либо:

Выставление permission, прав файлам и директориям

Чтобы узнать какие права у файлов и директорий нужно написать такую команду

Права Доступа (permission)

Записывают их вот таком виде — RWX (буквенном) или 777 (цифирном)

Права доступа разделяют

1.Доступ к файлам
2.Доступ к директории

Буквенные атрибуты прав доступа

r — чтение данных файлов и директорий (read)
w — изменение содержимых файлов и директорий или запись в них, но не удаление (write)
x — выполнение файла или разрешение зайти в директорию

Бывает три группы польвателей

Владелец файла имеет право на чтение (r), запись(w) в него и исполнение(x), остальные только право на чтение.

Что такое ADB? Adb (адб) команды для Андроид

Цифирные атрибуты прав доступа

Что такое ADB? Adb (адб) команды для Андроид

Сумма их значений означает конечные права для пользователя и групп

7 (rwx) = 4 + 2 +1 полные права
5 (r-x)= 4 + 0 + 1 чтение и выполнение
6 (rw-) = 4 + 2 + 0 чтение и запись
4 (r—) =4 + 0 + 0 только чтение

Что такое ADB? Adb (адб) команды для Андроид

Для новичков возможно пригодится калькулятор онлайн — ссылка .

Задавать права нужно командой

chmod 777 * — задаст права на чтение и запись и выполнение всем файлам и папкам

chmod 755 file.avi

Жесткие и символические ссылки

  • Жесткие ссылки
  • Символические ссылки или симлинки

В чем различия жестких и символических ссылок?

Жесткие ссылки — создают точную копию или текущий снимок файла или папки. Это очень похоже на копирование, но это все же не копирование.

Символические ссылки — создают ярлык которые указывают точное место файла или папки куда ярлык ссылается. Если файл или папку переместить, символическая ссылка будет битая. Чтобы наглядно понять что такое символическая ссылка — в Windows XP или Windows 7 есть ярлыки программ на рабочем столе, которые ссылаются в папку с программой, а точней exe-шник.

ADB команды для Android

Содержание - ADB команды для Android:

ADB для Android — что это такое?

Вам наверняка известно, что операционная система Android основана на модифицированном ядре Linux. Поэтому и с ней возникает необходимость использовать командную строку. Именно программа adb помогает устанавливать связь между компьютером и Android. Она является составляющей среды разработки Android SDK, поэтому чтобы установить Android Debug Bridge, вам нужно скачать Android SDK с официального сайта . Есть версии для всех популярных операционных систем: Windows, Mac OS и Linux. То есть, проще говоря, adb позволяет при помощи компьютера управлять телефоном или планшетом.

ADB команды для Android

Подключите ваше устройство к ПК по USB. Убедитесь, что установлены все драйвера и включена отладка по USB .

adb devices

adb install

adb install

Благодаря этой команде вы можете устанавливать приложения на вашем смартфоне или планшете. Для этого нужно прописать путь, где находится APK файл:

adb intsall D:\papka_s_faylom\nazvanie_prilogeniya.apk

Чтобы не писать длинных путей, скопируйте файл в директорию android-tools. Тогда путь станет таким:

adb intsall nazvanie_prilogeniya.apk

adb uninstall

Вводить нужно аналогично предыдущей команде. При этом приложение удалится.

У этой команды есть интересная фишка. Если вы добавите ключ -k,то при удалении игры или программы их данные и кэш не удалятся, а останутся на Android устройстве.

adb push

adb push

Благодаря этой команде вы можете перекидывать файлы с компьютера на Android. Для этого вам нужно знать полный путь, где хранится файл и куда его перемещать.

adb push D:\papka_s_faylom\nazvanie_fayla/sdcard/Android

Чтобы не писать длинных путей, скопируйте файл в директорию android-tools. Тогда вводить нужно:

adb push nazvanie_fayla/sdcard/Android

adb pull

adb pull

Эта команда копирует файлы с Android на компьютер. Вам нужно знать путь, где находится файл на смартфоне или планшете и указать место, где вы хотите сохранить файл. Если вы не укажете последнее, то файл сохранится в директории android-tools.

adb pull /sdcard/nazvanie_fayla\D:\papka_gde_sohranity

adb reboot

adb reboot

Эта команда перезагрузит ваш Android телефон или планшет.

adb reboot-bootloader

adb reboot-bootloader

Благодаря этой команде вы можете напрямую загрузиться в режиме bootloader.

adb reboot recovery

Не все девайсы поддерживают данную команду. При помощи нее можно попасть в режим восстановления.

adb connect

При помощи этой команды можно подключить устройство к Wi-Fi сети. Для этого нужно знать ip адресс и порт устройства.

adb connect ip:port

adb shell

При помощи этой команды вы получаете полный доступ ко всем файлам на вашем устройстве.

adb shell

Второй способ использования adb shell — это выполнение единичной команды Android shell с помощью такой конструкции:

fastboot devices

Если вы переведете ваш телефон или планшет под управлением Андроид в режим bootloader , то команды adb больше срабатывать не будут. Здесь нужно использовать команды fastboot.

Чтобы проверить, видят ли ПК и Android друг друга, используем команду:

После её ввода должен появится серийный номер вашего аппарата.

fastboot oem unlock

fastboot oem unlock

При вводе этой команды можно разблокировать загрузчик телефонов и планшетов Asus и HTC. Когда ваше устройство находится в режиме bootloader, введите:

fastboot oem unlock

Также все ваши установленные программы и персональные данные будут потеряны.

adb logcat

adb logcat

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

adb logcat > filename.txt

adb sideload

adb sideload name.zip

name.zip – это имя zip файла c прошивкой.

adb backup и adb restore

Команда adb backup создает бэкап, а adb restore проводит восстановление из бэкапа.

Читайте также: