← Все гайды AI Release
EN Подписаться на @ai_release1

Как записывать звонки на Android без root: установка AVault, шифрование и перенос записей

Обновлено: 06.11.2026 · AI Release · @ai_release1
Как записывать звонки на Android без root: установка AVault, шифрование и перенос записей

TL;DR

- Android-смартфон с включённой отладкой по USB (минимальная версия ОС — сверьтесь с документацией AVault);

- ПК с Windows/macOS/Linux и Android SDK Platform Tools (adb);

- USB-кабель с передачей данных (не «charging only»);

- APK-файл AVault из официального источника — ссылку и контрольную сумму берите там же;

- 1–2 ГБ свободного места на телефоне и столько же на ПК;

- tar и openssl на ПК (в Linux/macOS есть по умолчанию, на Windows — через WSL или Git Bash).

Требования и подготовка

adb — Android Debug Bridge, консольная утилита, которая отправляет команды телефону по USB и умеет копировать файлы. Всё, что ниже, делается без root именно через неё.

adb version
adb devices

Ожидаемый вывод — версия ADB и строка с серийным номером и статусом device:

Android Debug Bridge version 1.0.41
List of devices attached
R58M12ABCDE	device

Если вместо device стоит unauthorized — на телефоне не нажали «Разрешить отладку». Если список пуст — проверьте кабель и режим USB «Передача файлов».

Пример: adb shell df -h /data возвращает строку вида /data 108G 42G 66G 39% — свободных 66 ГБ, места достаточно.

Отдельно проверьте, что прошивка не блокирует сторонние приложения: на китайских оболочках агрессивная экономия батареи и запрет автозапуска убивают фоновую запись. Как это отключается — разобрано в гайде Как отключить рекламу, рекомендации и новостные подсказки на китайских Android-смартфонах без root.

Шаг 1. Установка AVault и выдача разрешений

Что сделать: установить APK через adb, затем выдать приложению разрешение на микрофон и проверить, что оно реально выдано.

Зачем: без RECORD_AUDIO приложение запускается, но пишет пустые файлы; установка через adb удобнее тем, что сразу видно результат в консоли, а не «Приложение не установлено» на экране.

Сначала узнайте точное имя пакета — оно может отличаться от названия на иконке:

adb install -r ~/Downloads/avault.apk
adb shell pm list packages | grep -i -E 'vault|call'

Ожидаемо: Success, затем строка package:com.<разработчик>.avault — это и есть <пакет AVault> для дальнейших команд.

Выдайте разрешение и проверьте фактический статус:

adb shell pm grant <пакет AVault> android.permission.RECORD_AUDIO
adb shell dumpsys package <пакет AVault> | grep -i record_audio

Успех — строка android.permission.RECORD_AUDIO: granted=true.

Как проверить: запустите приложение и убедитесь, что оно не просит микрофон повторно. Часть разрешений (например, доступ к журналу звонков) через adb не выдаётся — их выдают только на экране телефона; полный список нужных AVault разрешений сверьте с документацией приложения.

Пример: если после pm grant в dumpsys осталось granted=false, значит разрешение не объявлено в манифесте или уже отозвано политикой прошивки — откройте экран разрешений вручную.

Шаг 2. Шифрование записей и настройка переноса

Иллюстрация к разделу «Шаг 2. Шифрование записей и настройка переноса»
Иллюстрация к разделу «Шаг 2. Шифрование записей и настройка переноса»

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

Зачем: файлы записи звонков — это персональные данные собеседников. Архив в облаке без шифрования читается кем угодно, у кого есть доступ к бакету; шифрование делает содержимое бесполезным без пароля.

Сначала найдите каталог записей (типовой путь для данных приложения — /storage/emulated/0/Android/data/<пакет AVault>/files; точный путь сверьте с настройками AVault или документацией):

adb shell ls /storage/emulated/0/Android/data/<пакет AVault>/files
adb pull /storage/emulated/0/Android/data/<пакет AVault>/files ./records_raw

Затем шифрование — AES-256-CBC с ключом, выведенным из пароля через PBKDF2 (PBKDF2 — медленное преобразование пароля в ключ, которое затрудняет перебор):

export REC_PASS='<ваш-длинный-пароль>'      # пароль храните вне каталога с архивом
tar -czf records.tar.gz -C ./records_raw .
openssl enc -aes-256-cbc -pbkdf2 -iter 200000 -salt \
  -in records.tar.gz -out records.tar.gz.enc -pass env:REC_PASS
sha256sum records.tar.gz.enc > records.tar.gz.enc.sha256

Как проверить: во-первых, тип файла — file records.tar.gz.enc должен вернуть data (а не gzip compressed data). Во-вторых, пробное расшифровывание без записи на диск:

openssl enc -d -aes-256-cbc -pbkdf2 -iter 200000 \
  -in records.tar.gz.enc -pass env:REC_PASS | tar -tzf - | head -3

Ожидаемый вывод — список файлов внутри архива, например ./call_2025-05-12_10-14.m4a. Параметры -pbkdf2 -iter 200000 при расшифровке должны совпадать с шифрованием, иначе получите bad decrypt.

Пример: если в самом AVault есть встроенное шифрование записей, включите его и проверьте результат тем же способом — файл в папке не должен открываться плеером, а file должен показывать data. Наличие и название такой опции сверьте с документацией.

Перенос на собственный сервер — одна команда плюс проверка целостности на приёмнике:

rsync -av records.tar.gz.enc records.tar.gz.enc.sha256 \
  <пользователь>@<ваш-сервер>:/srv/records/
ssh <пользователь>@<ваш-сервер> 'cd /srv/records && sha256sum -c records.tar.gz.enc.sha256'

Успех — records.tar.gz.enc: OK. Только после этого удаляйте локальную копию. Если своего сервера нет, а держите данные на домашней машине, схема хранения и синхронизации разобрана в гайде Как вести семейный бюджет на своём сервере: установка Actual Budget и синхронизация с Android — принцип «свой сервер + шифрованный канал» там тот же.

ЭтапКомандаОжидаемый результат
Выгрузка`adb pull …``1 file pulled, 0 skipped`
Шифрование`openssl enc …`появился `records.tar.gz.enc`
Проверка типа`file records.tar.gz.enc``data`
Расшифровка`openssl enc -d … \tar -tzf -`список `.m4a`/`.amr` файлов
Отправка`rsync …``records.tar.gz.enc: OK`

Шаг 3. Проверка работы и финальный результат

Иллюстрация к разделу «Шаг 3. Проверка работы и финальный результат»
Иллюстрация к разделу «Шаг 3. Проверка работы и финальный результат»

Что сделать: сделать тестовый звонок, убедиться, что файл появился и не пустой, прогнать полный цикл «расшифровка → воспроизведение» и только потом считать настройку завершённой.

Зачем: типичная ошибка — настроить перенос по пустому каталогу и узнать об отсутствии записей через неделю.

adb shell ls -lt /storage/emulated/0/Android/data/<пакет AVault>/files | head -5
adb shell du -h /storage/emulated/0/Android/data/<пакет AVault>/files

Как проверить: после звонка длительностью 30–60 секунд в верхней строке списка должен появиться свежий файл, а его размер — быть заметно больше нуля. Если ffprobe установлен, длительность проверяется точно:

ffprobe -v error -show_entries format=duration -of default=nw=1:nk=1 call_2025-05-12_10-14.m4a

Ожидаемый вывод — число секунд, близкое к длительности разговора, например 54.312000.

Полный цикл проверки:

1. Позвонить на телефон с другого номера, поговорить 30 секунд, положить трубку.

2. Выполнить adb pull каталога записей.

3. Зашифровать архив командами из Шага 2.

4. Расшифровать в отдельный каталог и открыть файл плеером — слышно обе стороны (насколько это поддерживает ваша модель и версия ОС; совместимость сверьте с документацией AVault).

5. Сверить sha256sum локального и серверного файла — значения совпадают.

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

Возможные проблемы и решения

Проблема. Установка APK обрывается на телефоне Xiaomi/Redmi.

Проблема. Запись создаётся, но весит 0 байт или обрывается через минуту.

Проблема. Архив не расшифровывается.

Резюме и следующие шаги

Вы установили AVault через adb, выдали разрешение на микрофон, настроили шифрование архива с записями и проверку целостности при переносе. Дальше имеет смысл поставить rsync в расписание (cron или «Планировщик заданий») и раз в месяц проверять восстановление архива из резервной копии.

FAQ

Нужен ли root, чтобы записывать звонки на Android?

Нет, установка и работа AVault выполняются без root — все шаги выше используют только adb и обычные разрешения. Какие именно типы звонков и на каких прошивках поддерживаются, сверьте с документацией приложения: политика Android в отношении записи звонков различается по версиям ОС.

Где AVault хранит файлы записей?

Чаще всего в каталоге данных приложения на внутреннем накопителе; точный путь сверьте в настройках AVault или документации, а затем проверьте через adb shell ls. Если каталог пуст, запись не велась — смотрите разрешения и ограничения батареи.

Можно ли восстановить запись без пароля?

Нет. Архив зашифрован AES-256, ключ выводится из пароля через PBKDF2; без пароля останется только набор байтов. Храните пароль отдельно от архива, иначе шифрование теряет смысл.

Как перенести записи, если нет ПК?

Можно выполнить те же операции на самом телефоне в Termux — там доступны tar, openssl и rsync. Пошаговая установка окружения описана в гайде Как запустить Linux на Android без root: Termux, PRoot и ИИ-инструменты.

🤖 Кратко для ИИ