Пояснение: где находится /storage/emulated/0 и как получить доступ к внутреннему хранилищу

Коротко: /storage/emulated/0 — это виртуальный (эмулированный) путь к внутреннему хранилищу пользователя в Android; физически файлы лежат в /data/media/0 и доступны через механизм эмуляции (sdcardfs/FUSE), а для обычного пользователя работать нужно через /sdcard или встроенный проводник.

Оглавление {{TOC_AUTOMATIC}}

Что означает /storage/emulated/0

  • /storage — корень для точек монтирования хранения.
  • /storage/emulated — область, где система создаёт виртуальные (эмулированные) пользовательские хранилища.
  • /storage/emulated/0 — представление хранилища основного пользователя (user 0); в пользовательских приложениях часто отображается как /sdcard или "Internal storage".

Зачем нужна эмуляция: раздел /data защищён и недоступен для приложений без привилегий. sdcardfs или FUSE обеспечивают совместимый интерфейс "SD-карты", управляют правами и поддерживают несколько пользователей (например, /storage/emulated/10 для user 10).

На многих устройствах /sdcard и /storage/emulated/0 ведут к одному и тому же набору файлов — это виртуальный ярлык для пользовательских данных.

Где физически находятся файлы

Физический каталог: /data/media/0

  • /data — раздел данных (доступен только системе и root).
  • media/0 — реальные файлы пользователя: DCIM, Download, Pictures и т. п. Соответствие:
  • /storage/emulated/0/DCIM ⇄ /data/media/0/DCIM
  • /sdcard/Download ⇄ /data/media/0/Download

Механизм: sdcardfs/FUSE перехватывает обращения к /storage/emulated/N и предоставляет видимые права для приложений, не давая им прямого доступа к /data.

Как получить доступ к внутреннему хранилищу — практические способы

  1. Через приложение «Файлы» на устройстве
  • Откройте «Файлы» → Внутреннее хранилище. Это отображает /storage/emulated/0.
  1. По USB (MTP) с компьютера
  • Подключите телефон → выберите «Передача файлов (MTP)» → в Проводнике появится "Internal storage" (соответствует /storage/emulated/0).
  1. Через ADB
  • Список: adb shell ls /storage/emulated/0
  • Скачивание: adb pull /sdcard/Download/file.ext ./
  • Просмотр физического каталога (требуются права): adb shell ls -la /data/media/0
  1. Через терминал на устройстве (нужен root)
  • su; ls -la /data/media/0; df -h
  1. Через приложения и Scoped Storage
  • С Android 10+ приложения ограничены Scoped Storage: они видят свои каталоги и ограниченные общие папки. Для полного доступа нужно MANAGE_EXTERNAL_STORAGE (редко доступно) или пользовательский выбор через Storage Access Framework.

Без root вы не увидите /data/media напрямую в терминале/файловом менеджере, но сможете оперировать файлами через /sdcard или через разрешённые приложения/интерфейсы.

Частые операции — команды

  • Просмотреть список: adb shell ls -la /storage/emulated/0
  • Скопировать на ПК: adb pull /sdcard/DCIM/Camera/photo.jpg ./
  • Узнать использование: adb shell df -h /data

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

  • "Не вижу /data/media" — ожидаемо: /data защищён, обычный файл‑менеджер показывает эмулированный путь.
  • "Файлы другого профиля видны" — нет: разные профили имеют свои /storage/emulated/N.
  • "Удалённый файл не восстановить" — при удалении файл удаляется из /data/media/0; восстановление без root и бэкапа затруднено.

FAQ

  • Видно ли содержимое /storage/emulated/0 через ПК без режима MTP?
    Нет — используйте MTP или adb (если включён).

  • Чем отличается /sdcard и /storage/emulated/0?
    По сути — синонимы для пользователя; /sdcard обычно ссылочный путь на /storage/emulated/0.

  • Что такое /storage/XXXX-XXXX?
    Это точка монтирования реальной внешней microSD (идентификатор тома).

  • Как сделать резервную копию внутренней памяти без root?
    Используйте MTP для копирования нужных папок, Google/производительские бэкапы или инструменты резервного копирования в приложениях (учитывайте Scoped Storage).

Соответствие виртуальных и физических путей

Что вы видитеВиртуальный путьФизическое местоположение
Internal storage в Проводнике/sdcard или /storage/emulated/0/data/media/0
Пользователь 0/storage/emulated/0/data/media/0
Пользователь N/storage/emulated/N/data/media/N
Внешняя microSD/storage/XXXX-XXXX (или /storage/sdcard1)физическая SD-карта (vfat/ext4)

Для разработчиков: не полагайтесь на свободный доступ ко всему /storage/emulated/0 — используйте Storage Access Framework и учитывайте Scoped Storage начиная с Android 10.

Короткий итог

  • /storage/emulated/0 — виртуальный интерфейс пользовательского внутреннего хранилища.
  • Файлы физически находятся в /data/media/0 (раздел данных).
  • Для обычного пользователя используйте /sdcard, проводник или MTP; прямой доступ к /data возможен только с root.

Если нужно, могу прислать готовые ADB‑команды для копирования/удаления/бэкапа конкретных папок или объяснить Scoped Storage на примерах под вашу задачу.