Команда pm grant com.pittvandewitt.wavelet android.permission.DUMP требуется, когда приложение Wavelet при установке или первом запуске просит выдать специальное разрешение вручную — без него функция автоматической эквализации AutoEq не может получить доступ к аудиосессиям других приложений. Разрешение android.permission.DUMP относится к системным и не выдаётся через обычный диалог Android, поэтому его приходится назначать через ADB с компьютера или через терминал на самом устройстве.
Ниже разберём, зачем Wavelet это разрешение, как подготовить телефон, как выполнить команду без ошибок и что делать, если ADB возвращает отказ. Материал подходит для большинства устройств на Android, но точные названия пунктов меню разработчика зависят от оболочки производителя — сверяйтесь с документацией своей модели.
Что такое Wavelet и зачем ему разрешение DUMP
Wavelet — приложение-эквалайзер для Android от разработчика Pitt Van de Witt (отсюда имя пакета com.pittvandewitt.wavelet). Его ключевая функция — AutoEq: автоматический подбор параметров эквализации под конкретную модель наушников на основе измерений частотных характеристик.
Чтобы применять эквалайзер к звуку других приложений (плееров, стриминговых сервисов), Wavelet должен видеть активные аудиосессии системы. Для этого используется разрешение android.permission.DUMP, которое в обычном сценарии доступно только системным приложениям. Android не показывает запрос такого разрешения пользователю, поэтому разработчик предусмотрел выдачу через ADB.
- 🎧 AutoEq — подбор эквализации под модель наушников из встроенной базы.
- 🔊 Графический эквалайзер — ручная настройка полос частот.
- 🎚️ Эффекты — усиление басов, виртуализация и другие обработки (набор зависит от версии).
- 🔑 Режим Legacy — работа без DUMP-разрешения, но с ограниченной совместимостью.
Подготовка: включение отладки по USB
Перед выполнением команды на смартфоне нужно активировать режим разработчика и отладку по USB. Обычно это делается так: откройте «Настройки» → «О телефоне» и несколько раз нажмите на пункт «Номер сборки», пока не появится подтверждение. Затем в разделе «Для разработчиков» включите переключатель «Отладка по USB».
На оболочках MIUI/HyperOS, ColorOS, One UI путь к этим пунктам отличается, а некоторые прошивки дополнительно требуют включить «Отладка по USB (настройки безопасности)» или подтверждение через аккаунт производителя. Если пункт не находится, воспользуйтесь поиском по настройкам.
⚠️ Внимание: отладка по USB открывает технический интерфейс управления устройством. После выдачи разрешения её можно отключить — само разрешение при этом сохранится, а поверхность для потенциальных атак уменьшится.
Пошаговая инструкция: выдача разрешения через ADB
На компьютере (Windows, macOS или Linux) понадобится пакет platform-tools от Google — в него входит утилита adb. Скачивайте его только с официального сайта для разработчиков Android.
☑️ Проверка перед выдачей разрешения
- Подключите смартфон к компьютеру кабелем, поддерживающим передачу данных.
- Откройте терминал (командную строку) в папке с platform-tools.
- Проверьте, что устройство видно:
adb devices. На экране телефона подтвердите запрос на разрешение отладки. - Выполните команду выдачи разрешения:
adb shell pm grant com.pittvandewitt.wavelet android.permission.DUMP
Если команда завершилась без вывода ошибок — разрешение выдано. Откройте Wavelet: индикатор требования разрешения должен исчезнуть, а режим AutoEq станет доступным. Для проверки состояния разрешения можно выполнить adb shell dumpsys package com.pittvandewitt.wavelet | grep DUMP — в выводе должно быть granted=true.
Типичные ошибки и их решение
Чаще всего пользователи сталкиваются с тремя ситуациями: устройство не определяется, ADB отклоняет подключение или система отказывает в выдаче разрешения. Каждая из них решается по-своему.
| Ошибка / симптом | Вероятная причина | Что сделать |
|---|---|---|
| device unauthorized | Не подтверждён запрос отладки на телефоне | Отключите и подключите кабель, подтвердите запрос, отметьте «Всегда разрешать» |
| no devices found | Кабель только для зарядки или нет драйверов | Смените кабель, на Windows установите драйверы производителя |
| SecurityException при grant | Прошивка блокирует выдачу (часто MIUI) | Включите «Отладка по USB (настройки безопасности)» в параметрах разработчика |
| adb: command not found | Терминал открыт не в папке platform-tools | Перейдите в папку с adb или добавьте её в PATH |
⚠️ Внимание: на устройствах Xiaomi для включения «Отладка по USB (настройки безопасности)» может потребоваться SIM-карта с активным интернетом и вход в Mi-аккаунт. Это ограничение прошивки, а не приложения Wavelet.
Выдача разрешения без компьютера
Начиная с Android 11, в системе появилась беспроводная отладка, которая позволяет выполнять ADB-команды прямо на устройстве. Для этого используются приложения вроде LADB или связка с Shizuku: они создают локальное ADB-подключение через сопряжение по коду из настроек разработчика.
Общий порядок такой: включите «Беспроводную отладку» в параметрах разработчика, выполните сопряжение приложения с системой по коду, затем введите ту же команду pm grant com.pittvandewitt.wavelet android.permission.DUMP уже без префикса adb shell, если терминал работает в shell-режиме. Точные шаги зависят от выбранного приложения — следуйте его встроенной инструкции.
Почему нельзя выдать DUMP через настройки
Разрешение android.permission.DUMP имеет уровень защиты signature|privileged|development. Обычные сторонние приложения не подписаны ключом системы, поэтому Android скрывает это разрешение из стандартного диалога. Механизм pm grant через ADB — официальный способ разработчика обойти это ограничение для отладочных целей, и Google его документирует.
Безопасность и отзыв разрешения
Разрешение DUMP даёт приложению доступ к технической информации о системных службах — в контексте Wavelet это нужно для чтения данных об аудиосессиях. Само по себе оно не открывает доступ к личным файлам, переписке или камере. Тем не менее выдавать его стоит только приложению, установленному из Google Play, а не из сторонних источников с модифицированными сборками.
Если вы удалили Wavelet или хотите отозвать разрешение, выполните обратную команду:
adb shell pm revoke com.pittvandewitt.wavelet android.permission.DUMP
При удалении приложения система отзывает все его разрешения автоматически, поэтому отдельная чистка не требуется. После переустановки приложения команду придётся выполнить заново.
Частые вопросы
Нужен ли root для команды pm grant?
Нет. Достаточно штатной отладки по USB — root-доступ, разблокировка загрузчика и кастомная прошивка не требуются.
Wavelet всё равно просит разрешение после выполнения команды. Что делать?
Полностью закройте и заново откройте приложение, затем проверьте статус командой adb shell dumpsys package com.pittvandewitt.wavelet. Если разрешение не выдалось, вероятно, прошивка заблокировала операцию — проверьте дополнительные пункты отладки в настройках разработчика вашей оболочки.
Сбросится ли разрешение после обновления приложения или системы?
Обычно разрешение сохраняется при обновлениях приложения. После крупных обновлений прошивки или сброса настроек команду может потребоваться выполнить повторно.
Можно ли использовать Wavelet без разрешения DUMP?
Да, в приложении предусмотрен режим Legacy, который работает без этого разрешения, но совместимость с отдельными плеерами и стриминговыми сервисами в нём ограничена.
Безопасно ли скачивать platform-tools со сторонних сайтов?
Надёжнее всего брать архив только с официального сайта для разработчиков Android. Сторонние сборки могут содержать устаревшую или модифицированную версию adb.