Können Sie alle möglichen Verzeichnisse auflisten, in denen Android-Apps Daten speichern können, und beschreiben, welche Art von Daten in den einzelnen Verzeichnissen gespeichert sind?
Können Sie alle möglichen Verzeichnisse auflisten, in denen Android-Apps Daten speichern können, und beschreiben, welche Art von Daten in den einzelnen Verzeichnissen gespeichert sind?
Antworten:
Alle Apps (root oder nicht) haben ein Standarddatenverzeichnis, nämlich /data/data/<package_name>
. Standardmäßig werden die Apps-Datenbanken, Einstellungen und alle anderen Daten hier abgelegt. Wenn eine App große Datenmengen erwartet oder aus anderen Gründen "nett zum internen Speicher" sein möchte, befindet sich ein entsprechendes Verzeichnis auf der SDCard ( Android/data/<package_name>
).
Abgesehen davon können alle Apps Daten überall auf der SDCard speichern, da es keine Einschränkungen gibt - und viele Apps tun dies auch. Sie können Verzeichnisnamen frei verwenden (und das tun sie auch), was es oft schwierig macht, zu entscheiden, wofür all dieser "Müll" auf der Karte gedacht ist und was von ihm gelöscht werden kann.
Obwohl Root-Apps , wie Tom betonte, ihre Daten fast überall auf Ihrem Gerät speichern können, befolgen sie normalerweise dieselben Regeln wie andere Apps.
Eine allgemeine Erklärung der Android-Verzeichnishierarchie finden Sie in meiner Antwort hier . Für Ihre spezielle Frage füge ich möglicherweise weitere Details zu dem /data/data/<package_name>
(und dem entsprechenden SD-Teil) hinzu:
databases/
: Hier geht's zu den Datenbanken der Applib/
: Bibliotheken und Helfer für die Appfiles/
: andere verwandte Dateienshared_prefs/
: Einstellungen und Einstellungencache/
: na ja, CachesAn diesem Ort befinden sich möglicherweise mehrere oder weniger Verzeichnisse - alles hängt von der App ab. Sie können Dateien in ihrem eigenen "Home-Verzeichnis" (und das ist es im Grunde genommen, was Linux angeht) ablegen, wo sie wollen. Auf diese Dateien und Verzeichnisse kann in der Regel nur von der App selbst (und natürlich von root) zugegriffen werden - mit Ausnahme der auf der SDCard gespeicherten Dateien, auf die alle Apps zugreifen können.
/data/data/<name>/files/
Dateien erstellt, wie in developer.android.com/guide/topics/data/… beschrieben ? Dh die eröffneten mit FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_PRIVATE);
?
/storage/emulated/0/WhatsApp/
(subdirs .Shared
, .trash
, Backups
, Databases
, Media
), einschließlich aller Medien. Ich weiß nicht, ob dies zusätzlich ist \data\data...
, ich kann jetzt nicht auf dieses Verzeichnis zugreifen. Vielleicht hat sich das zwischen den Versionen geändert.
/
) befindet sich nicht auf der SD-Karte. SD-Karte bedeutet unten /sdcard
(interne Karte, zeigt auf /storage/emulated/<user>
) oder den entsprechenden Pfad Ihrer externen Karte. Und nein, ich kann nicht alle möglichen Orte erklären, die eine App verwenden könnte, sorry; AFAIK /data/misc
wird vom Android-System selbst verwaltet, daher sollten "reine Apps" dort bestenfalls Lesezugriff haben. Nie angetroffen data/user_de
(da es ein relativer Pfad ist, weiß ich sowieso nicht, wo Sie meinen).
Die Antwort auf Ihre Frage ist zu groß. Ich kann Ihnen jedoch eine grundlegende Antwort geben, die die Grundlagen abdeckt.
Es gibt zwei Arten von Apps:
Root und Nicht-Root .
Root- Apps können Dateien grundsätzlich überall speichern / ändern.
Nicht-Root- Apps können hier nur Dateien speichern / ändern: /sdcard/
und jeden Ordner, der danach kommt.
Meistens speichern sich die installierten Apps bei /sdcard/Android/data
oder /sdcard/Android/obb
.
Einige Apps speichern ihre gespeicherten Spiele- / Konfigurationsdatendateien auf /sdcard/APPNAME/
oder nur auf. /sdcard/
Um Root- Apps verwenden zu können, müssen Sie Ihr Android-Gerät gerootet und die Erlaubnis einer der Superuser-Apps erteilt haben.