Не могли бы вы перечислить все возможные каталоги, где приложения Android могут хранить данные, предоставив описание, какие данные хранятся в каждом каталоге?
Не могли бы вы перечислить все возможные каталоги, где приложения 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 и получить разрешение от одного из приложений суперпользователя.