Андроид папка storage emulated 0

Андроид папка storage emulated 0

Указанная тема не существует, или находится на премодерации.

Cookies Preference Center

We use cookies on this website. To learn in detail about how we use cookies, please read our full Cookies Notice. To reject all non-essential cookies simply click «Save and Close» below. To accept or reject cookies by category please simply click on the tabs to the left. You can revisit and change your settings at any time. read more

These cookies are necessary for the website to function and cannot be switched off in our systems. They are usually only set in response to actions made by you which amount to a request for services such as setting your privacy preferences, logging in or filling in formsYou can set your browser to block or alert you about these cookies, but some parts of thesite will not then work. These cookies do not store any personally identifiable information.

These cookies are necessary for the website to function and cannot be switched off in our systems. They are usually only set in response to actions made by you which amount to a request for services such as setting your privacy preferences, logging in or filling in formsYou can set your browser to block or alert you about these cookies, but some parts of thesite will not then work. These cookies do not store any personally identifiable information.

These cookies are necessary for the website to function and cannot be switched off in our systems. They are usually only set in response to actions made by you which amount to a request for services such as setting your privacy preferences, logging in or filling in formsYou can set your browser to block or alert you about these cookies, but some parts of thesite will not then work. These cookies do not store any personally identifiable information.

Источник

Папки Internal Storage и External Storage на Android

ОС Android на данный момент самая гибкая и функциональная из мобильных операционных систем, что обеспечивает ей высокую популярность. Внутренне устройство Android предполагает наличие собственной файловой системы, структура которой задана древовидной архитектурой, что отличается от организации информации в Windows и для многих пользователей имеет непривычный вид.

Данные могут храниться во внутренней памяти и на внешней (причём пользователи и Google понимают под этими понятиями разные вещи). Некоторые файлы и папки доступны для работы с ними, другие же, например, создаваемые системой, можно увидеть, включив отображение скрытых элементов в файловом менеджере, но вносить свои коррективы можно только при наличии root-прав (по умолчанию такая возможность недоступна в целях сохранности системы Android).

Объём памяти на современных устройствах позволяет записывать внушительное количество информации, при этом в зависимости от характера данных можно выбрать, куда именно сохранять создаваемые файлы. Что касается модели хранилища Android, то здесь стоит внести немного ясности, для чего обратимся к таким понятиям как Internal Storage и External Storage и рассмотрим каждое в отдельности (если перевести термины с английского, то первое – это внутреннее место хранения, а второе – внешнее).

Читайте также:  Строительный тренажер 2014 для андроида

Что такое Internal Storage и где находится

Internal Storage в Android, как и следует из названия, – это внутренняя память устройства. Она есть у каждого девайса независимо от того, поддерживаются ли карты памяти. Внутреннее хранилище является защищённой областью встроенной памяти, где может безопасно храниться пользовательская информация. Папка Internal Storage в Android находится в системном разделе /data.

Пользователи часто ошибочно считают, что внутренняя память и встроенная – одно и то же, но это не так. Android SDK определяет внутреннее хранилище как отдельный уникальный каталог, где программа будет размещать свои файлы. Если приложение хранит информацию во встроенной памяти, другой софт, равно как и пользователь, не будут иметь доступ к этим данным, за исключением намеренного использования таких привилегий после получения на устройстве root-прав.

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

Объем памяти в настройках смартфона

Обычно найти папку можно в папке data/data/your.application.package.appname/someDirectory/

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

Что такое External Storage и где находится

Теперь рассмотрим, что такое External Storage в Android. Это внешнее хранилище, куда сохраняются пользовательские данные, найти которые на телефоне несложно. Папка Storage будет располагаться в Android/data, а в данном каталоге многочисленные подпапки с именами приложений (расположение внешней памяти определяет ОС, но не пользователь).

Очистка кэша и освобождение места в хранилище ОС Android

Здесь могут находиться различные файлы, например, музыка, фото, видео и другой контент, доступный пользователю и приложениям. То есть расположение External Storage может быть в любом месте в памяти телефона или на съёмном носителе, а под внешним хранилищем подразумевается не только SD-карта, а и часть встроенной памяти Android-устройства (отличие от внутренней – в защищённости).

Таким образом, есть два типа внешних накопителей:

  • Primary External Storage. Встроенное хранилище общего доступа, работать с которым можно при осуществлении USB-подключения смартфона к компьютеру или ноутбуку.
  • Secondary External Storage. Съёмная память, например, SD-карта.

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

Общее внешнее хранилище для сохранения данных, общих для разных приложений лежит в корне внешнего раздела (рядом с папкой Android), например, папка DCIM для фотоснимков с камеры смартфона. Эти файлы останутся на месте, если вы удалили приложение, но при необходимости можно выполнить действия по их удалению вручную.

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

И внутреннее, и внешнее хранилища выполняют задачу хранения временных или постоянных данных, при этом разделы отличаются уровнем доступа к информации.

Источник

Путь к карте памяти в режиме отладки /storage/emulated/0/

Но на новом смартфоне стало невозможно отлаживать работу с файлами, т.к. этот код в отладчике возвращает «/storage/emulated/0/». И этот путь мне недоступен. Кроме того, если запускать через отладчик, то на карте памяти не создаются необходимые каталоги и файлы, они создаются где-то «/storage/emulated», недоступном для меня.
Есть ли вариант, чтобы было как раньше?

Читайте также:  Easy connect android ios

Добавлено через 32 минуты
Оказалось, что путь «/storage/emulated» не зависит от отладки.
Просто почему-то каталог, созданный программой не виден с пк через проводник.
Но виден файловым менеджером андроида.
Разрешение на папку: drw, как и для других папок, доступных с пк.
В чем причина?

Дублируются файлы в папках и в /storage/emulated/0 и /storage/emulated/legacy — почему?
Почему дублируются папки в Андроид и можно ли это как-то предотвратить? Андроид 5.1 И можно ли.

Не виден файл сохраненный в /storage/emulated/0/papka
До сего дня я был уверен что файл сохраненный /storage/emulated/0/papka/foto.jpg будет виден во.

Путь к карте памяти
Добрый день! У меня лежит файл в памяти телефона. В приложении прописываю путь к файлу вот таким.

Не получается получить путь к карте памяти
Всем привет. У меня вот такой вопрос: storage/sdcard0 это путь к памяти телефона storage/sdcard1.

Решение

Можно программно обновить либо медиа сканером, либо бродкастом, тут вроде уже были такие темы.

Добавлено через 3 минуты
Нашёл.

Получить путь к карте памяти (SD card)
Не педелитесь методом, который возвращает путь к карте памяти, если она есть? Нащел вот такой.

Почему не работает виртуальный компорт в режиме отладки, а в нормальном режиме работет
Процессор stm32f205. Подключаю плату (собственной разработки) к компу, определяется виртуальный.

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

Источник

Что такое / хранилище / эмуляция / 0 /?

Недавно я понял, что если я удаляю файлы, /sdcard/Download он удаляет файлы из /storage/emulated/0/Download . И если я добавлю в него файлы, /sdcard/Download то дублирую их в /storage/emulated/0/Download .

Так что же /storage/emulated/0/ ? Для каких целей он у нас есть в нашей файловой системе Android?

/storage/emulated/0/Download фактический путь к файлам.

/sdcard/Download символическая ссылка на фактический путь /storage/emulated/0/Download

Однако фактические файлы находятся в файловой системе /data/media , которая затем монтируется /storage/emulated/0 (и часто в другие точки монтирования).

Symlink При вычислении, символическая ссылка является термином для любого файла , который содержит ссылку на другой файл или каталог в виде абсолютного или относительного пути , и что влияет на разрешение имени пути. Символьные ссылки уже присутствовали к 1978 году в миникомпьютерных операционных системах от DEC и RDOS от Data General.

/storage/emulated/0/ фактически /data/media/0/ выставляется через эмулированную / виртуальную файловую систему, а не через реальную.

Это со ссылкой на мой предыдущий ответ здесь , но с более соответствующими деталями.

ХРАНЕНИЕ АНДРОИДОВ:

* >S> Для линка, >E> для эмулировать и >B> для связывания монтирования
* USER-ID текущего пользователя в случае Multiple Users или Work Profile , как правило , 0 то , что от владельца устройства
* VIEW является одним из read (для приложений с permission.READ_EXTERNAL_STORAGE) или write (permission.WRITE_EXTERNAL_STORAGE) или default (для процессов , запущенных в корне / global namespace т.е. т.е. вне zygote)
* В предыдущих версиях Android были незначительные различия, но концепция эмуляции с тех пор была реализована.
* Для получения более подробной информации о реализации пространства имен монтирования Android см. Этот ответ .

Короче говоря, /sdcard и /storage/emulated/0 — которые представляют файловую систему FAT / vFAT / FAT32 — указывают на /data/media/0 (или /mnt/expand/[UUID]/media/0 в случае приемлемого хранения ) сквозной FUSE или sdcardfs эмуляции.

Будучи не специфичным для Android, но в основном связанным с Linux, symlink и bind mount (см. «Создание bind mount») выходят за рамки этого вопроса, поскольку речь идет в основном о части эмуляции.

Читайте также:  Плеер для андроид который читает flac

Эмуляция:

Почему эмуляция здесь? Эмулируемая файловая система — это уровень абстракции в реальной файловой системе ( ext4 или f2fs ), который служит в основном двум целям:

  • Сохранение USB-подключения устройств Android к ПК (теперь через MTP осуществляется через несколько дней)
  • Ограничить несанкционированный доступ приложений / процессов к личным носителям пользователя и данным других приложений на SD-карте.

В ранних устройствах Android не хватало внутренней памяти и использовались (физически) внешние SD-карты, которые традиционно используют файловую систему семейства FAT для обеспечения совместимости с большинством ПК (см. Доминирование Microsoft в мире ПК).
Когда размер внутреннего хранилища вырос, та же файловая система была переведена на внутреннюю (все еще называемую «внешнюю») SD-карту.
Но реализация FAT / vFAT имела две основные проблемы, которые Google постепенно решала:

  • Устройства Android были подключены к ПК напрямую ( USB Mass Storage ) так же, как мы подключаем USB-накопитель в наши дни. UMS предоставляет устройство на уровне блоков и отключает SD-карту от платформы Android (отключает монтирование), что делает целые данные недоступными для приложений и, возможно, нарушает многие функции.
  • FAT (любимый в Windows в дни разработки) никогда не был предназначен для обеспечения разрешений UNIX ( символические ссылки mode, uid, gid и аналогичные , и тому ioctls подобное FS_IOC_FIEMAP ). Таким образом, все данные на SD-карте были доступны всем приложениям (поскольку каждое приложение Android является пользователем UNIX / Linux и имеет идентификатор пользователя) без ограничений, что вызывает серьезные проблемы с безопасностью и конфиденциальностью.

Обе эти проблемы были решены с помощью эмуляции:

  • Фактическое хранилище SD-карты было перемещено в /data раздел (или независимый раздел / sdcard на некоторых устройствах ранее), который содержит ext4 файловую систему (постепенно заменяющуюся f2fs ), полностью реализуя разрешения UNIX.
  • Этот дизайн сделал использование UMS невозможным, поскольку весь /data раздел не мог быть открыт для ПК по двум причинам: (1) он содержит множество настроек и данных приложений, которые должны быть защищены от других приложений, а также от пользователей. (2) Файловые системы Linux не поддерживаются Windows.
    Таким образом, UMS был заменен на Media Transfer Protocol, который является расширением типа клиент-сервер для PTP — уже установленный протокол. MTP не предоставляет блочное устройство, но работает через программный стек. Хост MTP работает на Android как приложение ( android.process.media ), полностью изолированное в среде Android, не способное выполнять какие-либо сложные задачи.

Теперь приложения (и MTP, который также является приложением) вместо этого взаимодействуют с эмулируемым хранилищем /data/media , выполняя обе задачи одновременно, т.е. осуществляя проверку разрешений снизу и выглядя как файловая система FAT на верхней поверхности.

Google теперь реализует эмуляцию через sdcardfs, чтобы преодолеть недостатки FUSE ; одна из основных причин — затраты на ввод / вывод, т. е. повышение скорости чтения / записи.

ВНЕШНИЕ РАЗРЕШЕНИЯ НА ХРАНЕНИЕ:
Концепция публичных и приватных файлов на внешнем хранилище может быть продемонстрирована на примере:
Установите приложение Termux.
Создать каталоги /sdcard/Android/data/com.termux/test_dir и /sdcard/test_dir .
Создать файлы /sdcard/Android/data/com.termux/test_file и /sdcard/Android/data/com.termux/test_file .
Выполните следующие команды:

* У вас должен быть установлен WhatsApp или выбрать личную папку другого приложения.

Теперь принудительно остановите приложение Termux и предоставьте разрешение на хранение . Выполните команды еще раз:

Смотрите разницу в разрешениях для одинаковых файлов и каталогов. Кажется, что это просто невозможно без эмуляции в собственной файловой системе Linux, когда одновременно работают сотни приложений (пользователей). Это эмуляция файловой системы, которая позволяет открывать один и тот же файл с тремя различными наборами разрешений одновременно, независимо от его исходных разрешений в реальной файловой системе:

Источник

Оцените статью