Не могли бы вы перечислить все возможные каталоги, где приложения Android могут хранить данные, предоставив описание, какие данные хранятся в каждом каталоге?
98
Не могли бы вы перечислить все возможные каталоги, где приложения Android могут хранить данные, предоставив описание, какие данные хранятся в каждом каталоге?
Ответы:
Все приложения (корневые или нет) имеют каталог данных по умолчанию, который является
/data/data/<package_name>
. По умолчанию базы данных приложений, настройки и все остальные данные находятся здесь. Если приложение ожидает, что будут храниться огромные объемы данных, или по другим причинам хочет «быть хорошо со встроенным хранилищем», на SDCard (Android/data/<package_name>
) имеется соответствующий каталог .Кроме того, все приложения могут хранить данные в любом месте на SDCard, поскольку нет никаких ограничений - и многие приложения делают это. Они могут свободно использовать имена каталогов (и они снова используют), что часто затрудняет решение, для чего предназначен весь этот «мусор» на карте, и что из него можно удалить.
Хотя, как отметил Том , root-приложения могут хранить свои данные практически везде на вашем устройстве, они обычно следуют тем же правилам, что и другие приложения.
Вы можете найти общее объяснение иерархии каталогов Android в моем ответе здесь . Для вашего конкретного вопроса я мог бы добавить более подробную информацию о
/data/data/<package_name>
(и соответствующей SD-части):databases/
: здесь идут базы данных приложенияlib/
: библиотеки и помощники для приложенияfiles/
: другие связанные файлыshared_prefs/
: настройки и настройкиcache/
: ну кешируетВ этом месте может быть еще несколько каталогов или меньше - все зависит от приложения. В своем собственном «домашнем каталоге» (и это то, чем он в основном является, говоря по Linux), они могут размещать файлы там, где они хотят. Обычно эти файлы и каталоги доступны только для самого приложения (и, конечно, для пользователя root) - кроме тех, которые хранятся на SDCard и доступны всем приложениям.
источник
/data/data/<name>/files/
находиться файлы, созданные в соответствии с описанием в developer.android.com/guide/topics/data/… ? Т.е. те открыли сFileOutputStream fos = openFileOutput(FILENAME, Context.MODE_PRIVATE);
?/storage/emulated/0/WhatsApp/
(подкаталоги.Shared
,.trash
,Backups
,Databases
,Media
), в то числе всех средств массовой информации. Я не знаю, если это в дополнение к\data\data...
, я не могу получить доступ к этому каталогу сейчас. Может быть, это изменилось среди версий./
) не находится на SD-карте. SD-карта означает ниже/sdcard
(внутренняя карта, указывает на/storage/emulated/<user>
) или соответствующий путь вашей внешней карты. И нет, я не могу объяснить все возможные местоположения, которые может использовать какое-то приложение, извините; AFAIK/data/misc
управляется самой системой Android, поэтому «простые приложения» в лучшем случае должны иметь доступ для чтения там. Никогда не встречалdata/user_de
(так как это относительный путь, я все равно не знаю, где вы имеете в виду).Ответ на ваш вопрос, который вы задаете, слишком велик. Я могу, однако, дать вам базовый ответ, который охватывает основы.
Существует два вида приложений:
корневые и некорневые .
Корневые приложения могут в основном хранить / изменять файлы где угодно.
Некорневые приложения могут хранить / изменять файлы только здесь:
/sdcard/
и в каждой папке, которая появляется после.В основном, установленные приложения хранятся в
/sdcard/Android/data
или/sdcard/Android/obb
.Некоторые приложения хранят свои файлы сохраненных игр / данных конфигурации
/sdcard/APPNAME/
или просто на них./sdcard/
Чтобы иметь возможность использовать корневые приложения, вам необходимо иметь рутированное устройство Android и получить разрешение от одного из приложений суперпользователя.
источник