Папки /Android/data и /data/data: что это и почему доступ ограничен

Кратко: /Android/data — внешние данные приложений (кэш, OBB, файлы пользователя), /data/data — приватные внутренние данные (базы, настройки). С Android 11+ Google ввёл Scoped Storage — сторонние приложения не видят чужие папки без специальных прав или root, чтобы защитить приватность и безопасность.

Что хранится в /Android/data и /data/data

  • /Android/data/ — кэш, сохранения игр, OBB и другие файлы, которые приложение может сохранять на внешнем хранилище (но под своим каталогом).
  • /data/data/ — приватные файлы приложения: SQLite, настройки, токены, приватные кэши; доступны только приложению и системному пользователю (или root).
  • Размеры могут быть большими: медиаклиенты и игры хранят гигабайты в /Android/data, мессенджеры — в /data/data.

Эта организация разделяет публичные (внешние) и приватные (внутренние) данные, снижая риск утечек.

Почему доступ ограничен (Scoped Storage) и что изменилось

Причины:

  • Приватность: блокировка доступа к паролям, токенам, медицинским данным.
  • Безопасность: ограничение возможности вредоносных приложений читать чужие кэши.
  • Регуляции: соответствие GDPR/CCPA и требованиям безопасности.

Как это работает:

  • Android 10 — введены предупреждения и опции для разработчиков.
  • Android 11 — Scoped Storage обязателен для новых приложений: приложение видит в основном только свои файлы.
  • Android 11–12 — частичные исключения через MANAGE_EXTERNAL_STORAGE; Android 13+ — ужесточение, исключения минимальны.

Как действовать пользователю и разработчику

Для обычного пользователя:

  • Очистка кэша: Настройки → Приложения → Выберите приложение → Хранение → Очистить кэш. Это безопасно и освобождает место.

Если нужно освободить много места, сначала проверьте встроенные инструменты приложения (экспорт чатов, очистка медиакэша).

  • Если файловому менеджеру нужен доступ ко всем файлам, вы можете включить "Доступ ко всем файлам" (MANAGE_EXTERNAL_STORAGE) в специальных правах, но это должно быть сделано осознанно.

Для продвинутых:

  • ADB: adb shell pm grant android.permission.MANAGE_EXTERNAL_STORAGE — временное решение для отладки.
  • Root: открывает полный доступ, но повышает риск безопасности и может нарушить работу банковских/защищённых приложений.

Для разработчиков:

  • Используйте Storage Access Framework, MediaStore и getExternalFilesDir() для доступа к файлам без обходов.
  • requestLegacyExternalStorage устарел и не действует на новых версиях Android.

Частая ошибка: установка сомнительных APK с «всеми правами» не обходит Scoped Storage и часто является вектором malware.

Частые ошибки

  • Ожидание, что файловый менеджер покажет /Android/data чужого приложения — теперь недоступно.
  • Попытки полагаться на requestLegacyExternalStorage для новых версий.
  • Использование root без резервной копии и понимания последствий (потеря гарантии, риски безопасности).

FAQ

  • Можно ли копировать OBB и сохранить резервную копию игр?
    Часто нет без root. Некоторые игры позволяют экспорт/импорт внутри самого приложения; в других случаях нужен root или специальные инструменты с поддержкой MANAGE_EXTERNAL_STORAGE.
  • Поможет ли удаление приложения освободить место?
    Да — удаление приложения обычно удаляет его /data/data и /Android/data, освобождая место.
  • Что безопаснее: давать MANAGE_EXTERNAL_STORAGE или делать root?
    MANAGE_EXTERNAL_STORAGE безопаснее, чем root: он даёт доступ конкретному приложению, тогда как root открывает весь девайс и повышает риски.

В итоге Scoped Storage — сознательное ограничение ради приватности и безопасности. Если вы не занимаетесь моддингом или глубокими бэкапами, привычные функции останутся доступными через настройки приложений и официальные механизмы экспорта/резервного копирования.