Объяснение разрешений на хранилище Android — Android 10–14

Последнее обновление :

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

Короткий ответ

На Android 11 и более поздних версиях перейдите в Настройки → Приложения → AnExplorer → Разрешения → Файлы и мультимедиа → Разрешить управление всеми файлами.Это предоставляет разрешение MANAGE_EXTERNAL_STORAGE, которое восстанавливает полную возможность просмотра.Без этого файловые менеджеры помещаются в «песочницу», как и любое другое приложение.

Временная шкала разрешения на доступ к хранилищу Android

Android 9 и более ранние версии — открытая эра

До Android 10 хранение данных было простым.Приложения запрашивали разрешение READ_EXTERNAL_STORAGE или WRITE_EXTERNAL_STORAGE при установке или во время выполнения, и после его предоставления они получали полный доступ на чтение и запись ко всему общему хранилищу — каждой папке, каждому типу файла, каждому пути.Файловые менеджеры работали точно так же, как и ожидалось от файлового менеджера на рабочем столе.

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

Android 10 — представлено ограниченное хранилище (необязательно)

В Android 10 появилась концепция ограниченного хранилища, но она была доступна разработчикам.Приложения, ориентированные на API 29, могут добавить requestLegacyExternalStorage=true в свой манифест, чтобы сохранить старое поведение.Большинство файловых менеджеров использовали этот флаг, поэтому пользователи не видели практической разницы.

Внесены ключевые изменения:

  • Концепция «внешнего хранилища для конкретного приложения» ( Android/data/[package]/ ) стала формально изолированной.
  • MediaStore API стал рекомендуемым способом доступа к медиафайлам.
  • Структура доступа к хранилищу (SAF) приобрела важное значение для доступа к документам.
  • Прямой доступ к пути к файлу технически устарел, но все еще работал с устаревшим флагом.

Установите файловый менеджер AnExplorer

Управляйте, передавайте и открывайте файлы на любом устройстве.

Получить приложение

Android 11 — принудительное использование ограниченного хранилища

Android 11 стал переломным моментом.Флаг requestLegacyExternalStorage перестал работать для приложений, ориентированных на API 30+.Каждое приложение теперь было ограничено по умолчанию.Однако Google осознал, что файловым менеджерам, инструментам резервного копирования и антивирусным приложениям действительно нужен широкий доступ, поэтому они создали новое разрешение:

MANAGE_EXTERNAL_STORAGE — разрешение «Доступ ко всем файлам».Это специальное разрешение, которое:

  • Должен быть объявлен в манифесте приложения.
  • Требуется, чтобы пользователь вручную перешел к настройкам, чтобы предоставить его (невозможно предоставить через простой диалог во время выполнения). – Должно быть обосновано для Google во время проверки в Play Store.
  • Предоставляет доступ ко всему общему хранилищу, ЗА ИСКЛЮЧЕНИЕМ каталогов Android/data/ и Android/obb/.

Когда AnExplorer запрашивает это разрешение, вы видите системный экран с предложением переключить «Разрешить управление всеми файлами».Это не ошибка или злоупотребление — это единственный способ корректной работы файлового менеджера на Android 11+.

Android 12 — небольшие улучшения

В Android 12 кардинально не изменились разрешения на хранение, но добавлено:

  • Разрешения ближайших устройств, влияющие на функции передачи файлов.
  • Небольшие изменения в работе средства выбора фотографий.
  • Лучшее соблюдение правил видимости пакетов (приложения не могут видеть, какие другие приложения установлены, без объявления запросов).

Что касается функциональности файлового менеджера, Android 12 ведет себя идентично Android 11.

Android 13 — детальные разрешения мультимедиа

В Android 13 старый READ_EXTERNAL_STORAGE разделен на три отдельных разрешения:

  • READ_MEDIA_IMAGES — доступ к фотографиям и изображениям
  • READ_MEDIA_VIDEO — доступ к видеофайлам
  • READ_MEDIA_AUDIO — доступ к музыке и аудиофайлам

Приложения теперь запрашивают только те типы мультимедиа, которые им действительно нужны.Музыкальный проигрыватель запрашивает только звук;фоторедактор запрашивает только изображения.Файловые менеджеры с доступом ко всем файлам полностью обходят эти детальные разрешения, поскольку MANAGE_EXTERNAL_STORAGE уже охватывает все.

Android 13 также полностью заблокировал сторонний доступ к Android/data/ через Storage Access Framework.Раньше вы могли использовать SAF для предоставления доступа к папке Android/data/ — этот обходной путь был закрыт.

Установите файловый менеджер AnExplorer

Управляйте, передавайте и открывайте файлы на любом устройстве.

Получить приложение

Android 14 — доступ к избранным фотографиям

В Android 14 появилось самое важное изменение: когда приложение запрашивает доступ к фотографиям, пользователи теперь могут выбрать «Выбрать фотографии и видео» вместо предоставления доступа ко всем медиафайлам.Это означает:

  • Приложение видит только те файлы, которые выбрал пользователь.
  • Пользователь может изменить свой выбор позже в настройках. – Приложения должны корректно обрабатывать частичный доступ.

К файловым менеджерам с доступом ко всем файлам это не относится — MANAGE_EXTERNAL_STORAGE по-прежнему обеспечивает полную видимость мультимедиа.Но если вы не предоставили доступ ко всем файлам, вы можете обнаружить, что AnExplorer может видеть только те файлы, которые вы явно выбрали.

В Android 14 также представлены:

  • Доступ на основе учетных данных к файлам, управляемым предприятием.
  • Улучшения в средстве выбора фотографий с интеграцией облачных провайдеров.
  • Более строгие ограничения на доступ к фоновым файлам.

Как работает платформа доступа к хранилищу (SAF)

Когда файловому менеджеру не хватает доступа ко всем файлам, Storage Access Framework становится запасным механизмом.SAF работает через средства выбора документов на системном уровне:

  1. Приложение вызывает ACTION_OPEN_DOCUMENT_TREE, чтобы запросить доступ к папке.
  2. Android отображает системный инструмент выбора файлов, в котором вы переходите к нужной папке.
  3. Вы нажимаете «Использовать эту папку» и подтверждаете «Разрешить».
  4. Приложение получает постоянный грант URI для этой конкретной папки и всего ее содержимого.
  5. Этот грант сохраняется при перезапуске приложения и перезагрузке телефона.

Гранты SAF — это мощный, но утомительный метод — вам придется вручную предоставлять каждую папку отдельно.AnExplorer использует SAF в качестве резервного варианта, когда доступ ко всем файлам недоступен или при доступе к определенным защищенным путям.

Ограничения SAF

  • Невозможно предоставить доступ к корневому каталогу внутренней памяти на Android 13+.
  • Невозможно получить доступ к Android/data/ на Android 13+.
  • Невозможно получить доступ к Android/obb/ на Android 13+.
  • Производительность значительно ниже, чем при прямом доступе к файлам (операции проходят через контент-провайдера)
  • Некоторые операции (например, рекурсивные операции с папками) при использовании SAF выполняются намного медленнее.

Установите файловый менеджер AnExplorer

Управляйте, передавайте и открывайте файлы на любом устройстве.

Получить приложение

Настройка AnExplorer для максимального доступа

Для наилучшего взаимодействия со всеми версиями Android:

  1. Предоставить доступ ко всем файлам: Настройки → Приложения → AnExplorer → Разрешения → Файлы и мультимедиа → Разрешить управление всеми файлами.
  2. Предоставить разрешение на уведомление (Android 13+): требуется для отображения хода передачи.
  3. Отключить оптимизацию заряда батареи: Настройки → Приложения → AnExplorer → Аккумулятор → Неограниченно (не позволяет ОС отключать фоновые операции).
  4. Предоставить доступ SAF для Android/данных (только для Android 11–12): когда AnExplorer предложит доступ к папке с Android/данными, нажмите «Использовать эту папку» → «Разрешить».

##То, что остаётся недоступным без рута

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

ПутьПочему заблокированоАльтернатива
/data/data/Песочница приложения (обеспечивается ядром)ADB или root-доступ
/data/user/0/То же, что и выше, многопользовательский форматADB или root-доступ
Android/data/ (Android 13+)Блокировка политики ОСUSB MTP с ПК, ADB или root
Android/obb/ (Android 13+)Блокировка политики ОСUSB MTP с ПК, ADB или root
/system/Раздел только для чтенияRoot с перемонтированием

Устранение проблем с разрешениями

«Разрешение отклонено», несмотря на то, что доступ ко всем файлам предоставлен

  1. Принудительно остановите AnExplorer и снова откройте его.
  2. Отозвать разрешение и предоставить его повторно.
  3. Убедитесь, что вы предоставили «Все файлы», а не только «Только медиа» (на некоторых устройствах отображаются оба варианта).
  4. Перезагрузите телефон — для вступления в силу некоторых разрешений требуется перезагрузка.

Разрешение продолжает сбрасываться через несколько дней.

Android 12+ автоматически отзывает разрешения для приложений, которые вы в последнее время не использовали (обычно 3 месяца).Чтобы предотвратить это:

  • Настройки → Приложения → AnExplorer → Разрешения → выключите «Удалить разрешения, если приложение не используется».
  • Или просто время от времени открывайте AnExplorer, чтобы он оставался активным.

Приложение показывает пустые папки, несмотря на наличие разрешения

Обычно это означает, что приложение читает из кэшированного/устаревшего списка каталогов.Потяните вниз, чтобы обновить, или выйдите из папки и вернитесь в нее.Если проблема не устранена, очистите кеш AnExplorer (Настройки → Приложения → AnExplorer → Память → Очистить кеш).

Похожие руководства

Установите файловый менеджер AnExplorer

Управляйте, передавайте и открывайте файлы на любом устройстве.

Получить приложение

Часто задаваемые вопросы