extsdcard что это за папка
Использование карты памяти /sdcard/ приложениями в Android
Друзья, поклонники зеленых роботов, разработчики приложений, просто пользователи:
как Вы используете карту памяти /sdcard/ в Вашем Android-девайсе?
Рассмотрим, для начала данный вопрос на примере большинства рядовых пользователей устройства под управлением ОС Андроид:
Как и многие, я устанавливаю приложения на карту памяти — для экономии места в самом телефоне, но сами приложения, их кеши и т.д. — все это сохраняется прямо в корень карты памяти, в итоге я получаю на карте полную «кашу»:
огромное количество папок и т.д. среди которых достаточно неудобно (как через ФМ так и при подключении к ПК) искать нужные мне файлы, папки и т.д. Понятно, что можно обойтись костылями и, например, добавить мои папки в «избранное» в том же ФМ и т.д., но вопрос в другом.
Почему изначально большинство приложений устанавливаются на карту памяти так:
или на худой конец — есть же скрытая системная
/sdcard/.android_secure
(понятно, что туда не всегда есть доступ и т.д., но все таки)
В итоге: что же получает юзер?
Среднестатистический юзер устанавливает достаточно много приложений и, зачастую, для экономии места, перемещает их на карту памяти. Все хорошо, но до того момента, когда нам вдруг понадобилось найти свой собственные документы на карте памяти, тут мы подключаем девайс с ПК в режиме карты памяти или же через ФМ самого смартфона заходим сюда: /sdcard/
И что же мы видим?
Да вот что:
habrastorage.org/storage1/e5deae9f/54a3c20b/8ba76329/55414a1a.jpg
Напрашивается, закономерный вопрос: почему так?
Насколько я понимаю, причины две:
1) это сама компания google, точнее ее политика в отношении это аспекта, то есть действия разработчиков программ никак тут не ограничены (тем же условием опубликования программы на market’e и т.д.)
2) разработчики программ, которые пишут софт, зачастую, создающий массу папок в корне /sdcard/
Ну и для любопытства ради воспользуемся любимым поиском:
habrahabr.ru/blogs/android_development/111868
Например тут указан некий Стандарт разработки приложений под Android
из которого четко следует:
Корневой каталог для всех файлов пользователя, кроме временных:
/sdcard/название проекта/, например /sdcard/TalentMania/
Каталог для музыки:
/sdcard/название проекта/sound/, например /sdcard/TalentMania/sound/
Каталог для MIDI:
/sdcard/название проекта/midi/, например /sdcard/TalentMania/midi/
Каталог для графики:
/sdcard/название проекта/img/, например /sdcard/TalentMania/img/
Подкаталоги для файлов различных активити:
/sdcard/название проекта/img/название активити/, например /sdcard/TalentMania/img/guitar/
И т.д.
Никаких претензий я разработчикам или вообще кому либо не предъявляю.
Просто хочу задать два вопроса:
1) Почему так? Почему все «сваливается» в корень карты памяти?
2) Одному мне это чертовски неудобно?
Спасибо за внимание!
PS: а пока юзеры выдают просто шедевральные методы облегчения использвания карты памяти:
открываешь карту памяти и создаешь
_Видео
_Документы
_Музыка
_Прочее
|-Карты
|-и т.д.
_Фото
как результат, то что мне нужно, хотя бы всегда сверху
как в телефоне
так и на ПК
Структура и назначение файлов и папок в Андроид
Структура и назначение файлов и папок в Андроид. В данной статье вы узнаете какие папки (директории) в Android существуют, какие файлы в них находятся, за что отвечают данные папки и файлы и зачем они нужны.
Предисловие о структуре
У многих есть компьютер и на них установлена ОС Windows. Все прекрасно знают, что в данной ОС все распределено по дискам:
C: — на данном диске находиться система
D: — для личных файлов (диска может и не быть, если он не «разбит»)
E: — Z: — флешки, переносные жесткие диски, CD или DVD приводы.
В Windwows все рассредоточено по различным дискам. В UNIX/Linux куда входит и Android (а также BSD, куда входит Mac OS X) все выглядит все немного иначе. Файловая структура имеет древовидный вид. Возможно сейчас не понятно, но дальше с прочтением статьи будет более понятно.
Также стоит знать что Android как и в Linux, в отличие от Windows очень чувствительны к регистру. Например папка Name, NaMe, name, NAME — это 4 разных папки, тогда как Windows сможет создать только одну папку с таким именем.
Для того чтобы было более понятно о чем идет речь, рекомендуется установить файловый менеджер Root Browser.
Структура и назначение папок и файлов Android
Как было выше сказано — структура имеет древовидный вид. У любого дерева имеется корень, в UNIX/Linux он также существуют. Корень — это отправной пункт в файловой структуре, с корня система обрастает папками и файлами. Корень в UNIX/Linux отмечается как знак:
Подробно о разделе cache
/cache/ — в данном разделе находятся временные файлы, точней сюда скачиваются обновления системы.
Подробно о разделе dev
/dev/ — в данной разделе содержится информация о устройствах системы и файлов
Подробно о разделе data
/data/ — пользовательский раздел в котором находятся установленные приложения, личные настройки
/data/app — здесь находятся установленные приложения, игры
/data/app-lib — дополнительные библиотеки необходимые для работы определенных приложений (присутствует в новых версиях Android)
/data/dalvik-cache — кеш-память, для работы Java машины Dalvik которая является «двигателем» в Android отвечающая за запуск и работу приложений.
/data/data — в данной папке находятся индивидуальные настройки каждого пользовательского приложения, библиотеки и другие файлы необходимые файлы для их работы.
/data/system/ — в данном разделе находятся глобальные настройки пользовательского окружения, синхронизация, аккаунты, блокировка. Файлы gesture.key, locksettings.db, locksettings.db-shm, locksettings.db-wal — графический ключ, пин-код.
Подробно о разделе efs
/efs/ — находится файлы и папки отвечающие за IMEI (данный раздел имеется не во всех Android)
Подробно о разделе preload
/preload/ — в данном разделе находятся дополнительные файлы и папки, которые зеркалируются в раздел /system/ (данный раздел имеется не во всех Android, преимущественно в Samsung)
Подробно о разделе system
/system/ — данный раздел содержит системные папки и файлы необходимые для функционирования Android
/system/app — здесь находятся системные приложения и сервисы (в новых ОС Android сервисные приложения вынесли в другую папку priv-app)
/system/camerdata — в данной папке находятся файлы отвечающие за работу камеры
/system/etc — в данной папке находятся конфигурационные файлы необходимые при загрузке ОС а также необходимые в процессе работы различных программ
/system/init.d — в данной папке находятся скрипты, которые могут влиять на работу системы.
/system/etc/ hosts — файл отвечающий за блокировку, переадресацию веб адресов.
/system/etc/ apns.conf — файл с информацией о точках доступах интернет (APN)
/system/etc/ gps.conf — настройки GPS
/system/fonts — папка с системными шрифтами
/system/framework — папка с «процессами» Android
/system/lib/ — библиотеки системных приложений и сервисов
/system/lib/modules — драйверы системы
/system/media — папка с системными звуками и анимацией включения
/system/media/ bootanimation.zip — исполняемый архив с загрузочной анимацией
/system/priv-app — папка с сервисами Android
/system/build.prop — конфигурационный файл с помощью которого можно изменить системные настройки
Подробно о разделе proc
/proc — виртуальный раздел содержащий информацию о ядре и его конфигурации
Подробно о разделе mnt
/mnt — в данный раздел монтируются (добавляются) карты памяти и внутренняя память и другие виртуальные разделы (также в новых версиях можно встретить раздел storage)
Подробно о разделе storage
/storage — в данный раздел монтируются только реальные (существующие, то есть не виртуальные) карты памяти и внутренняя память
Подробно о разделе mnt и storage
Все файлы которые существуют у вас на Android (картинки, мелодии, видео, документы) записаны либо на внутренней памяти или карте памяти. Если в Android присутствует собственная память (внутренняя память) то она имеет монтируется под именем
/mnt/sdcard или /storage/sdcard
Да, я прекрасно понимаю что многие считают давать название собственной памяти таким именем, но что поделаешь…
Если же внутренней памяти нет, то это имя занимает карта памяти. Если же есть и внутренняя память и карта памяти, то внутренней так и остается под именем sdcard, а карта памяти берет одно из имен
sdcard2
external_sd
sdcard1
extSdCard
Андроид: [DirectoryBind] Простой способ связать внешнюю sd карту и внутреннюю память, чтобы освободить место
Поправить положение поможет программа DirectoryBind, которую хороший человек slig из xda написал для себя и выложил на форуме для всеобщего пользования.
Хоть публика здесь технически подкованная, но для неискушенных читателей хабра нужно сделать пару пояснений. Как он сам написал (программа not idiot-proof), т.е. врядли пройдет тест на дурака.
Нажимаем меню, затем «Add new entry»
Теперь создадим новую связь каталогов, например перенесем папку CamScanner на внешнюю карту. Долгое нажатие на путь к папкам открывает небольшой встроеный файловый менеджер, в котором можно создать и/или выбрать папку. Папка на внешней карте должна быть создана (и пуста).
UPD. Кстати, внешняя SD карта значительно медленнее внутренней памяти, поэтому перенос данных программы на внешнюю SD, естественно замедляет работу этой программы. Это особенно нужно помнить решившим полностью поменять маунт-пойнты внутренней и внешней памяти, т.к. скорее всего все ваше устройство будет работать медленнее, чем раньше.
Надеюсь эта программа дополнит и вашу копилку полезных утилит для андроид устройств.
Если вы все-таки решились поменять местами внутреннюю и внешнюю память, т.е. переназначить внешнюю sd карту на /sdcard и в настройках устройства нет такой опции — имея рут, это можно легко сделать выполнив следущую операцию:
В Root-Explorer монтируем «/etc» как R/W (если R/O), находим файл «/etc/vold.fstab», сохраняем копию и открываем (длинным кликом) его в Text Editor.
В следующих двух строчках меняем название моунт точек местами:на
Подробнее можно почитать здесь. Там же предлагают, как альтернативу, использовать другую интересную программу Root External 2 Internal SD.
Добавлю, что в обоих случаях, перед переключением, вам нужно скопировать все содержимое папки /sdcard на внешнюю sd карту.
Помните, что после переключения вся ваша система может работать медленней, чем раньше.
Будьте осторожны — нужно понимать, что все что вы делаете под рутом, вы делаете на свой страх и риск, и например сохранение неправильного «vold.fstab» может привести к невозможности загрузить устройство и для лечения нужно будет грузится в рекавери и править «vold.fstab» уже там.
Этот способ можно использовать совместно с DirectoryBind, только теперь наоборот «Default target path» (/sdcard) и все связи созданные в DirectoryBind будут указывать на внешнюю карту.
Почему SD-карта установлена на «/sdcard /external_sd» вместо «/sdcard» (или «/mnt /sdcard»)?
3 ответа
Эта ситуация была улучшена с Android 3.0: /data и /mnt/sdcard теперь указывают на тот же раздел. Хорошая работа Google, это могли быть версии версий назад. Что также является причиной того, что app2sd больше не требуется на Android 3.0 или выше: вы будете перемещать данные только в том же объеме.
Теперь мы подошли к ответу, если ваш вопрос: поскольку /mnt/sdcard уже установлен во внутреннем хранилище, внешняя SD-карта должна использовать другую точку монтирования. И эта точка монтирования Google не указана. Это может быть
Принуждение внешнего SD-монтирования от /mnt/sdcard не имеет технических достоинств, это способ Google помочь поставщикам оборудования создать точку дифференциации для телефонов с большей внутренней памятью.
Нет причин, по которым приложения должны найти способ найти внешнюю карту, когда код /mnt/sdcard явно был местом, где должна была быть SD-карта, и неопределенный способ загрузки внешней SD-карты Google еще меньше, чем потребительский сюжет, чтобы сделать внешнюю SD-карту менее полезной на новых Android-устройствах. Нет причин, по которым /data и /mnt/sdcard должны были быть объединены в один и тот же раздел на более новой версии Android, кроме производителя, чтобы отличать телефоны с большей внутренней памятью от более низкие единицы затрат с меньшей внутренней памятью. Даже если слияние должно было быть сделано, Google мог бы четко определить новую точку монтирования STANDARD для внешних SD-карт, а не оставить ее полностью неопределенной. Это полностью работает против предотвращения дальнейшей «сегментации» экосистемы Android неуклюжей конструкцией, чтобы помочь дифференциации производителей телефонов с более высокими ценами на более дешевые единицы с меньшей встроенной памятью.
Также все ли заметили отсутствие поддержки внешнего SD от текущего урожая Android-устройств под брендом Google? Эта тенденция будет продолжать расширяться на устройствах «верхнего уровня» Android. Поддержка внешней SD-карты была ключевым отличием для устройств Android, чтобы обогнать доминирование iPhone на рынке мобильной связи. Теперь, когда Android доминирует в игре с цифрами, нет никакой необходимости в том, чтобы эта практика изнашивания прибыли продолжалась намного дольше.
Структура и назначение папок и файлов в Android
В данной статье вы узнаете какие папки (директории) в Android существуют, какие файлы в них находятся, за что отвечают данные папки и файлы и зачем они нужны.
Предисловие о структуре
У многих есть компьютер и на них установлена ОС Windows. Все прекрасно знают, что в данной ОС все распределено по дискам:
C: — на данном диске находиться система
D: — для личных файлов (диска может и не быть, если он не «разбит»)
E: — Z: — флешки, переносные жесткие диски, CD или DVD приводы.
В Windwows все рассредоточено по различным дискам. В UNIX/Linux куда входит и Android (а также BSD, куда входит Mac OS X) все выглядит все немного иначе. Файловая структура имеет древовидный вид. Возможно сейчас не понятно, но дальше с прочтением статьи будет более понятно.
Также стоит знать что Android как и в Linux, в отличие от Windows очень чувствительны к регистру. Например папка Name, NaMe, name, NAME — это 4 разных папки, тогда как Windows сможет создать только одну папку с таким именем.
Для того чтобы было более понятно о чем идет речь, рекомендуется установить файловый менеджер Root Browser.
Структура и назначение папок и файлов Android
Как было выше сказано — структура имеет древовидный вид. У любого дерева имеется корень, в UNIX/Linux он также существуют. Корень — это отправной пункт в файловой структуре, с корня система обрастает папками и файлами. Корень в UNIX/Linux отмечается как знак:
[spoiler title=»подробно о разделе cache» ]
В данном разделе находятся временные файлы в момент загрузки Android, а также сюда загружаются обновления системы «по воздуху» — update.zip.
[spoiler title=»подробно о разделе dev» ]
/dev/ — в данном разделе содержится информация о устройствах системы и файлов.
[spoiler title=»подробно о разделе data» ]
раздел /data/ — пользовательский раздел в котором находятся установленные приложения, личные настройки
папка /data/app — здесь находятся установленные приложения, игры.
папка /data/app-lib — дополнительные библиотеки необходимые для работы определенных приложений (присутствует в новых версиях Android).
папка /data/dalvik-cache — кеш-память, для работы Java машины Dalvik которая является «двигателем» в Android отвечающая за запуск и работу приложений.
папка /data/data — в данной папке находятся индивидуальные настройки каждого пользовательского приложения, библиотеки и другие файлы необходимые файлы для их работы.
папка /data/system/ — в данном разделе находятся глобальные настройки пользовательского окружения, синхронизация, аккаунты, блокировка.
файлы gesture.key, locksettings.db, locksettings.db-shm, locksettings.db-wal — графический ключ, пин-код.
[spoiler title=»подробно о разделе efs» ]
раздел /efs/ — находится файлы и папки отвечающие за IMEI (данный раздел имеется не во всех Android).
[spoiler title=»подробно о разделе preload» ]
раздел /preload/ — в данном разделе находятся дополнительные файлы и папки, которые зеркалируются в раздел /system/ (данный раздел имеется не во всех Android, преимущественно в Samsung).
[spoiler title=»подробно о разделе system» ]
раздел /system/ — данный раздел содержит системные папки и файлы необходимые для функционирования Android.
папка /system/app — здесь находятся системные приложения и сервисы (в новых ОС Android сервисные приложения вынесли в другую папку priv-app).
папка /system/bin и /system/xbin — папка содержит файлы и ссылки на исполняемые бинарные файлы.
файл /system/xbin/su — файл отвечающий за Root права.
папка /system/camerdata — в данной папке находятся файлы отвечающие за работу камеры.
папка /system/etc — в данной папке находятся конфигурационные файлы необходимые при загрузке ОС а также необходимые в процессе работы различных программ.
папка /system/init.d — в данной папке находятся скрипты, которые могут влиять на работу системы.
файл /system/etc/ hosts — файл отвечающий за блокировку, переадресацию веб адресов.
файл /system/etc/ apns.conf — файл с информацией о точках доступах интернет (APN).
файл /system/etc/ gps.conf — настройки GPS.
папка /system/fonts — папка с системными шрифтами.
папка /system/framework — папка с «процессами» Android.
папка /system/lib/ — библиотеки системных приложений и сервисов.
папка /system/lib/modules — драйверы системы.
папка /system/media — папка с системными звуками и анимацией включения.
файл /system/media/bootanimation.zip — исполняемый архив с загрузочной анимацией.
папка /system/priv-app — папка с сервисами/приложениями Android.
папка /system/tts— папка с голосовыми движками системы.
файл /system/build.prop — конфигурационный файл с помощью которого можно изменить системные настройки.
[spoiler title=»подробно о разделе proc» ]
раздел /proc — виртуальный раздел содержащий информацию о ядре и его конфигурации.
[spoiler title=»подробно о разделе mnt» ]
раздел /mnt — в данный раздел монтируются (добавляются) карты памяти и внутренняя память и другие виртуальные разделы (также в новых версиях можно встретить раздел storage).
[spoiler title=»подробно о разделе storage» ]
раздел /storage — в данный раздел монтируются только реальные (существующие, то есть не виртуальные) карты памяти и внутренняя память.
[spoiler title=»подробно о разделе mnt и storage» ]
Все файлы которые существуют у вас на Android (картинки, мелодии, видео, документы) записаны либо на внутренней памяти или карте памяти. Если в Android присутствует собственная память (внутренняя память) то она имеет монтируется под именем.
/mnt/sdcard или /storage/sdcard
Да, я прекрасно понимаю что многие считают давать название собственной памяти таким именем, но что поделаешь…
Если же внутренней памяти нет, то это имя занимает карта памяти. Если же есть и внутренняя память и карта памяти, то внутренней так и остается под именем sdcard, а карта памяти берет одно из имен:
sdcard2
external_sd
sdcard1
extSdCard