Как выдавать расширенные разрешения приложениям через ADB
ADB (Android Debug Bridge) позволяет выдавать расширенные системные разрешения приложениям без рутирования устройства. В статье — пошаговая инструкция по установке Platform-Tools, настройке USB‑отладки, проверке подключения и выполнению команд pm grant / pm revoke. Также приведены чеклисты, шпаргалка команд и рекомендации по безопасности.

Большинство Android‑приложений запрашивают базовые разрешения (доступ к хранилищу, камере и т.д.) через системный диалог. Но некоторые приложения требуют системных или «расширенных» разрешений, которые нельзя выдать через обычный интерфейс. Рутирование — один из путей, но это сложно и зачастую избыточно. ADB (Android Debug Bridge) даёт альтернативу: через командную строку вы можете временно или постоянно выдавать приложениям дополнительные привилегии.
В этой статье объясним, что такое ADB и как им пользоваться, чтобы выдавать и отзывать разрешения приложений, а также как безопасно и корректно это делать.
Что такое Android Debug Bridge (ADB)
Кратко: ADB — это инструмент командной строки из Android SDK Platform‑Tools. Он устанавливает связь между компьютером и Android‑устройством и позволяет выполнять операции, которые обычно требуют уровня root или доступа к системным компонентам.
Определение в одну строку: ADB — мост между вашим ПК и Android‑устройством для отладки, установки/удаления приложений и управления системными настройками.
Чем полезен ADB:
- Удаление предустановленных приложений (частично или полностью).
- Установка APK из командной строки.
- Сбор логов и трассировка ошибок.
- Выдача и отзыв системных разрешений (pm grant / pm revoke).
- Резервное копирование данных без рутирования.
Важно: ADB не даёт автоматом root‑доступ — он выполняет команды от имени оболочки/пользователя платформы. Некоторые разрешения остаются недоступны без системного уровня.
Краткий план (минимальная методология)
- Скачайте SDK Platform‑Tools и распакуйте.
- Откройте терминал/PowerShell в папке platform‑tools.
- На устройстве включите «Параметры разработчика» и USB‑отладку.
- Подключите устройство и проверьте adb devices.
- Войдите в adb shell и выполните pm grant или pm revoke.
- Проверьте результат в приложении или с помощью pm list permissions.
Шаг 1 — загрузка SDK Platform‑Tools
Перейдите на сайт Android Developers и скачайте SDK Platform‑Tools для вашей ОС. Файл скачивается в ZIP‑архиве. Распакуйте его в удобную папку.

Совет: оставьте папку platform‑tools на диске в корне (например, C:\platform-tools) — так проще открывать терминал в ней.
Шаг 2 — открыть PowerShell или Терминал
Откройте папку platform‑tools, затем:
- Windows 10: удерживайте Shift, кликните правой кнопкой мыши и выберите «Open PowerShell window here».
- Windows 11: клик правой кнопкой → «Open in Terminal».
- macOS / Linux: откройте Terminal в папке (на macOS: Finder → Services → New Terminal at Folder или через правый клик).
Примечание: если вы используете локальный бинарник adb на macOS или Linux, иногда потребуется запуск с префиксом ./ (то есть ./adb devices).
Шаг 3 — включите Параметры разработчика и USB‑отладку
На смартфоне:
- Откройте «Настройки» → «О телефоне» и многократно нажмите на «Номер сборки» (обычно 7 раз), чтобы включить Параметры разработчика. При необходимости введите пароль блокировки.
- Перейдите в «Настройки» → «Система» → «Параметры разработчика» и включите «USB‑отладку».
- Подключите телефон к компьютеру USB‑кабелем.


Важно: при первом подключении система спросит, разрешать ли отладку с этого компьютера — отметьте «Всегда разрешать с этого компьютера», если доверяете машине.
Шаг 4 — проверить подключение устройства
В терминале введите:
adb devices(На macOS/Linux: если adb в текущей папке, используйте ./adb devices)
Если устройство подключено корректно, вы увидите в выводе его серийный номер и статус “device”. Если вместо этого появляется “unauthorized” — проверьте экран телефона и подтвердите запрос отладки.

Если вы не видите устройство:
- Проверьте кабель и USB‑порт (используйте оригинальный или качественный кабель).
- На Windows установите ADB‑драйвер: можно использовать Universal ADB Driver от сторонних разработчиков или официальные драйверы OEM. Ресурсы: ClockworkMod, XDA (поиск ADB installer). Не используйте непроверённые драйверы из непонятных источников.
- Убедитесь, что режим подключения USB не выставлен только как «Только зарядка» (выберите передачу данных).
Шаг 5 — подтверждение USB‑отладки на устройстве
После успешной команды adb devices при первом использовании вы увидите на телефоне системный диалог «Разрешить USB‑отладку?». Отметьте «Всегда разрешать для этого компьютера», если доверяете, и нажмите «Разрешить».
Шаг 6 — выполнение команд ADB для выдачи разрешений
В терминале введите:
adb shellЭта команда откроет shell на устройстве. Затем используйте пакетный менеджер pm для выдачи разрешений:
pm grant - Замените
на пакетное имя приложения (package name). - Замените
на полное имя разрешения (например, android.permission.PACKAGE_USAGE_STATS).
Пример из практики: для приложения Battery Guru (пример в статье):
pm grant com.paget96.batteryguru android.permission.PACKAGE_USAGE_STATSПосле выполнения команда выдаст разрешение, если оно может быть выдано через pm. Некоторые разрешения невозможны без системного уровня.
Как найти package_name:
- Установите утилиту «Package Name Viewer» из Play Store (или аналог) и найдите package name.
- Или в adb shell выполните:
pm list packages | grep -i <часть_имени>Например:
pm list packages | grep -i batteryКак отозвать разрешение:
pm revoke com.paget96.batteryguru android.permission.PACKAGE_USAGE_STATSКак проверить, какие разрешения у приложения:
dumpsys package com.paget96.batteryguru | grep permission -A 5или
pm list permissions | grep -i PACKAGE_USAGE_STATSШпаргалка команд (cheat sheet)
- adb devices — показать подключённые устройства.
- adb kill-server && adb start-server — перезапустить ADB‑сервис.
- adb shell — открыть shell на устройстве.
- pm grant
— выдать разрешение. - pm revoke
— отозвать разрешение. - pm list packages — список всех пакетов.
- pm list permissions — список известных разрешений.
- adb install
— установить APK. - adb uninstall
— удалить пакет (пользовательский).
Когда ADB не помогает / альтернативы
- Если разрешение является системным или помечено как signature|system, pm grant может не сработать — для этого нужен root или модификация системы.
- Для изменения системных настроек (WRITE_SECURE_SETTINGS) иногда требуется системный build или root.
- Альтернатива: рутирование устройства (влечёт риски и лишает гарантии), использование кастомного рекавери (TWRP) или модификаций прошивки.
Отладка проблем и частые ошибки
- Ошибка “operation not allowed” при pm grant — вероятно, разрешение невозможно дать без root.
- Устройство в списке adb devices, но при выполнении adb shell команда «permission denied» — проверьте, не требует ли команда elevated privileges.
- На Windows конфликт драйверов — удалите старые ADB‑драйверы и установите универсальный драйвер заново.
Риск и безопасность
- Выдавая расширенные разрешения, вы увеличиваете привилегии приложения. Делайте это только для доверенных приложений.
- Локальные команды ADB выполняются от имени оболочки — вредоносное ПО с доступом к ADB может нанести вред.
- После завершения операций отзывайте лишние разрешения (pm revoke) и отключайте USB‑отладку, если она не нужна постоянно.
Роль‑ориентированные чеклисты
Для рядового пользователя:
- Убедиться, что устройство и ПК находятся под вашим контролем.
- Включить Параметры разработчика и USB‑отладку.
- Разрешить отладку только для доверенного компьютера.
- Выдать нужное разрешение, проверить работу приложения, отозвать при необходимости.
Для IT‑администратора:
- Подготовить образ Platform‑Tools на выделенном компьютере.
- Использовать списки доверенных устройств и учётные записи.
- Документировать выданные разрешения и причины.
- Автоматизировать через скрипты при массовой настройке.
Для разработчика:
- Использовать adb shell и pm для тестовых сценариев.
- Логировать результаты и проверять dumpsys.
- Помнить о разных поведениях на разных версиях Android.
Критерии приёмки
- Устройство корректно подключено и отображается в adb devices.
- Команда pm grant не возвращает ошибку и разрешение отображается в списке разрешений приложения.
- Функция приложения, требующая разрешения, работает как ожидается.
Факты и подсказки
- ADB входит в состав Android SDK Platform‑Tools.
- Команды pm grant/revoke работают не для всех разрешений — некоторые требуют системного уровня.
- Всегда проверяйте, какие разрешения вы выдаёте, и откатывайте изменения после теста.
Краткое резюме
ADB — мощный и безопасный (при ответственном использовании) инструмент для управления разрешениями приложений без рутирования. Он особенно полезен для тестирования, устранения неполадок и тонкой настройки устройства. Но есть ограничения: системные и подпись‑зависимые разрешения требуют более глубокого доступа.
Важно: выдавайте расширенные разрешения только проверенным приложениям и при необходимости отзывайте их.
В заключение: если вы хотите получить больший контроль над Android‑устройством без рутирования, изучение ADB и pm — отличная инвестиция времени.
Похожие материалы
Показываем и управляем sideload приложениями на Android TV
Медленный мобильный интернет: 10 шагов для ускорения
Как выбрать тариф iCloud+ — 50GB–12TB
Как заменить фон меню GRUB на своё изображение
Организация содержимого PS4 — полное руководство