Что означает ошибка EACCES
Ошибка EACCES (Permission Denied) сигнализирует о том, что операционная система Android блокирует попытку приложения прочитать, записать или удалить файлы на устройстве. Обычно системное уведомление или лог содержит фразу «Permission Denial» или «Отказано в доступе к памяти».
Проблема проявляется при экспорте документов, сохранении фотографий, скачивании вложений из мессенджеров или обновлении карт в навигаторах. Начиная с Android 10, система использует архитектуру Scoped Storage, которая жёстко изолирует данные каждого приложения. Старые программы или неправильно настроенные разрешения сразу попадают под этот фильтр.
Причины возникновения
- Ручной отказ при первом запуске. Вы нажали «Запретить» в системном диалоге, а приложение не умеет корректно обрабатывать отказ и продолжает попытки записи в фоне.
- Устаревший targetSdkVersion. Разработчик не обновил приложение под требования Android 11+. Оно пытается обращаться к общим папкам
/storage/emulated/0/напрямую, что блокируется системой. - Агрессивная оптимизация производителя. Оболочки MIUI, One UI, ColorOS автоматически ограничивают фоновый доступ к хранилищу для экономии энергии. Права отзываются после закрытия приложения.
- Повреждение базы данных разрешений. Сбой во время обновления ОС или некорректное восстановление из резервной копии через Google Drive/Samsung Smart Switch приводит к рассинхронизации прав.
- Конфликт с антивирусами или файловыми менеджерами. Сторонние утилиты с функцией «Защита файлов» перехватывают запросы на запись и блокируют их.
Способы решения
Способ 1: Ручная выдача доступа через настройки
Это базовый метод, который решает проблему в 90% случаев.
- Откройте
Настройки→Приложения(илиУправление приложениями). - Найдите в списке нужную программу. Если её нет, нажмите на иконку трёх точек в углу и выберите
Показать системные. - Перейдите в раздел
Разрешения. - Найдите категорию
Память,Файлы и медиаили отдельные пунктыФото и видео,Музыка и аудио(зависит от версии Android). - Нажмите на пункт и выберите
Разрешить только при использованииилиРазрешить всегда. - Вернитесь на главный экран и откройте приложение заново.
💡 Совет: Если переключатель неактивен (серый), проверьте, не включён ли режим «Гостевой доступ» или «Защищённая папка». В этих профилях доступ к общей памяти отключён намеренно.
Способ 2: Очистка кэша и перезапись состояния
Иногда разрешения выданы, но приложение кэширует старый статус отказа.
- В том же меню приложения нажмите
Хранилище(илиПамять). - Выберите
Очистить кэш. Не нажимайтеОчистить данные, пока не убедитесь, что внутри программы нет важных локальных настроек. - Откройте меню многозадачности и принудительно закройте программу свайпом вверх или кнопкой
Закрыть всё. - Запустите приложение. Системный диалог запросит права повторно. Подтвердите доступ.
Способ 3: Отключение ограничений производителя
Кастомные оболочки часто блокируют фоновую работу даже при выданных правах.
- Xiaomi (HyperOS/MIUI):
Настройки→Приложения→ выберите приложение → включитеАвтозапуск. Перейдите вРазрешения→Другие разрешения→ разрешитеЗапись во внутреннюю памятьиДоступ в фоновом режиме. - Samsung (One UI):
Настройки→Батарея→Ограничение фоновой активности→ переведите приложение в режимБез ограничений. - Huawei/Honor (EMUI/MagicOS):
Настройки→Батарея→Запуск приложений→ отключите автоматическое управление для программы, разрешитеАвтозапуск,Косвенный запускиРаботу в фоне.
Способ 4: Обновление или переустановка приложения
Если программа собрана до 2020 года, она физически не умеет работать с новой системой доступа к файлам.
- Откройте Google Play, Huawei AppGallery или F-Droid.
- Проверьте наличие обновлений. Разработчики выпускают патчи, адаптирующие код под Scoped Storage.
- Если обновление недоступно или не помогло, полностью удалите программу.
- Скачайте свежую версию из официального источника. При первом запуске установите все запрошенные разрешения.
⚠️ Важно: Никогда не устанавливайте модифицированные APK-файлы неизвестного происхождения. Они часто содержат устаревшие манифесты, нарушают политики безопасности и приводят к постоянным ошибкам
EACCES.
Профилактика
Чтобы ошибка не возвращалась, придерживайтесь простых правил управления правами:
- Регулярно обновляйте приложения через официальные магазины. Разработчики вовремя адаптируют код под новые API Android.
- Не игнорируйте системные диалоги. Если приложение запрашивает доступ к галерее для сохранения скриншотов, разрешите его сразу.
- Раз в 2–3 месяца просматривайте список выданных прав:
Настройки→Конфиденциальность→Диспетчер разрешений. Отозвите доступ у программ, которые вы больше не используете. - Избегайте использования «чистильщиков» и «ускорителей» памяти. Эти утилиты часто агрессивно чистят системные кэши и ломают цепочки доступа к файлам.