TL;DR На устройствах без root-доступа, где приложения Android хранят данные, которые сохраняются при удалении?
Предыстория: пару месяцев назад я установил приложение для Android и настроил его по своему вкусу. Через пару недель он мне больше не был нужен, поэтому я его удалил. После удаления я не увидел никаких файлов, оставшихся во внутренней памяти, и в устройстве не была установлена карта microSD, поэтому там также не хранились файлы.
К моему удивлению, когда я переустановил приложение, оно запомнило все свои настройки. Я использую брандмауэр, поэтому он не загружал конфигурации из облака.
Таким образом, вопрос: на нерутированных устройствах, где приложения Android хранят данные, которые сохраняются после удаления?
Приложения должны хранить свои данные и связанные с ними файлы либо в, либо /sdcard/Android/data/com.app.id
в /data/data/com.app.id
; однако многие приложения (особенно из Китая) не соблюдают это правило и создают папки в хранилище по отдельности, в которых хранится различная информация.
Например, приложения, использующие Aliyun SDK, будут создавать .DataStorage
каталоги .SystemConfig
и .UTSystemConfig
в корне внутреннего хранилища, в основном для хранения информации об идентификаторе устройства. Такая информация может использоваться для идентификации пользователей, даже если они не зарегистрировали учетную запись в соответствующих приложениях.
Что касается того, что вы описали - полностью локально хранящиеся данные (без доступа к облаку) - это тоже возможно. У меня есть один такой пример на моем телефоне, который является сторонним приложением для форума (я предпочитаю не раскрывать, какое именно это приложение), с несколькими функциями, такими как подписи, настраиваемые идентификаторы для улучшения исходного приложения. Он хранит все настройки, связанные с этими улучшениями, в .db
файлах в папке в корне внутреннего хранилища. Когда пользователь меняет устройство, он может просто скопировать папку на новое устройство, и при открытии эти настройки будут прочитаны и останутся нетронутыми. Ниже показана одна из страниц его основного .db
файла, где хранятся значения настроек ключей (конфиденциальная информация отредактирована):
Некоторые приложения могут специально оставлять остатки приложения в /data
разделе, /data/data/com.packagename
где имя пакета представляет конкретный пакет приложения.
В этих каталогах вы обычно найдете базы данных приложений, конфигурации, а также файлы настроек, которые обычно сохраняются во время переустановки или обновления и т. д. (именно поэтому я подозреваю, что они могут быть сохранены даже во время удаления)
В любом случае, вы можете сканировать эти остаточные или «трупные» файлы с помощью сторонних приложений, таких как sd maid, чтобы иметь четкую разбивку.
Я тестировал на Android 4.3 , возможно, с тех пор что-то изменилось, но, основывая свой ответ на этом
/data/data/com.packagename
данные приложения сохранились после удаления родительского приложения, в отличие от того, что происходит в Microsoft Windows. Не могли бы вы привести несколько примеров такого поведения в дикой природе?
Једноруки Крстивоје
RockPaperLz - Замаскируй или Шкатулка
Једноруки Крстивоје