Чи можете ви перелічити всі можливі каталоги, де додатки Android можуть зберігати дані, описуючи, які дані зберігаються у кожному каталозі?
Чи можете ви перелічити всі можливі каталоги, де додатки Android можуть зберігати дані, описуючи, які дані зберігаються у кожному каталозі?
Відповіді:
Усі програми (root чи ні) мають каталог даних за замовчуванням, який є /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 Card означає нижче /sdcard
(внутрішня карта, вказує на /storage/emulated/<user>
) або відповідний шлях вашої зовнішньої карти. І ні, я не можу пояснити все можливе місце, яке може використовувати якесь додаток, вибачте; AFAIK /data/misc
управляється самою системою Android, тому "прості програми" мали б у кращому випадку мати доступ до читання. Ніколи не стикався data/user_de
(оскільки це відносний шлях, я все одно не знаю, де ви маєте на увазі).
Відповідь на запитання, яке ви задаєте, занадто велике. Я можу, однак, дати вам основну відповідь, яка висвітлює основи.
Існує два види додатків:
Root та некореневі .
Кореневі програми в основному можуть зберігати / змінювати файли, де вони хочуть.
Некореневі програми можуть зберігати / змінювати файли лише тут: /sdcard/
і кожну папку, що надходить після.
Здебільшого встановлені додатки зберігаються на /sdcard/Android/data
або /sdcard/Android/obb
.
Деякі додатки зберігають свої файли даних збереження ігор / конфігурації на /sdcard/APPNAME/
або просто на. /sdcard/
Щоб мати змогу користуватися кореневими програмами, вам потрібно буде увімкнути свій Android-пристрій та надати дозвіл на одне із додатків додаткового користування.