Ich habe die gleiche Anwendung auf installiert
ein Gerät mit Android 7.0 ( nicht gerootet ) und
auf einem Tablet mit Android 4.4 ( root ),
Trotzdem ist mir aufgefallen, dass die Anwendungsdaten (Datenbanken / Dateien usw.) auf jedem Gerät an verschiedenen Orten gespeichert sind:
Auf dem Tablet-Gerät befinden sich die Dateien unter: /storage/sdcard0/Android/data/com.packagename
und können leicht manipuliert werden (dh kopieren, sichern usw.), aber nicht auf dem Smartphone, wodurch wahrscheinlich der Speicherort: bleibt, auf /data/data/com.packagename
den ich keinen Zugriff habe.
Ich verstehe, dass es normalerweise auf /data/data
( geschützter interner App-Speicher ) oder /storage/sdcard0/Android/data
( Speicher auf der internen Speicherpartition des Benutzers ) gespeichert wird, ansonsten auf einer SD-Karte, falls vorhanden. Außerdem wurde hier eine verwandte Frage gestellt: Wo speichern Android-Apps Daten?
Meine größte Überraschung ist, warum dies in derselben Anwendung geschieht (gleiche Version - seitlich geladen)?
Auf dieser Referenzseite wird auch erläutert, wie ein Entwickler den Standardspeicherort von Anwendungsdaten konfigurieren kann. Es wäre verständlich gewesen, wenn es unterschiedliche Versionen der Anwendung gegeben hätte, aber hier habe ich es nur mit derselben Anwendung (dh .apk
Datei) zu tun. Gibt es etwas, das ich hier vermisse, oder haben sich die Dinge in den letzten Versionen von Android geändert?
Meine Sorge ist, dass ich ohne Root nicht auf diese Dateien zugreifen kann /data/data
und da dies große Dateien sind und ich sie sichern muss, falls die App-Daten versehentlich gelöscht werden (und das habe ich bereits aus Versehen getan :(.
Am wichtigsten ist, dass ich sie nicht ständig neu herunterladen möchte .
Hinweis: An beide Geräte ist kein externer Speicher angeschlossen.
So wie es aussieht, besteht das größte Hindernis darin, dass auf /data/data
(Gerät 1) nicht auf Dateien zugegriffen werden kann, daher keine Sicherung möglich ... (Ich würde es begrüßen, wenn es eine andere zuverlässige Problemumgehung gibt, um dies zu erreichen .)
Alle Apps haben einen privaten Speicher im verlängerten /data-Ordner. Einige Apps entscheiden sich dafür, Daten vorübergehend an öffentlichen Orten zu speichern. Leider kann ich nicht mit Sicherheit sagen, was die genauen Ergebnisse davon waren, aber ich weiß, dass sich die Art und Weise, wie geteilte Daten behandelt werden, in Android 7 aus Sicherheitsgründen geändert hat.
/data
So kann ich möglicherweise die im Ordner auf diesem nicht gerooteten Gerät
gespeicherten App-Daten sichernSo seltsam es klingt, ich hatte eine erfolgreiche Problemumgehung für dieses Problem:
Ich musste die erforderlichen Anwendungsdaten (Dateien) manuell von /data/data
nach verschieben /Android/data
(mit Ausnahme von shared_preferences
Ordner und Datenbankordner, dh der normalen Konfiguration).
Zweitens musste ich die App so konfigurieren, dass sie ein privates Verzeichnis verwendet, indem ich die Datei modifizierte userDefault.xml
(möglicherweise je nach Anwendung unterschiedlich) und diese erforderliche Codezeile hinzufügte:
<int name="app_private_dir"value_"1"/>
SS
/data/data
? Können Sie feststellen, an welchem Standort App-Daten gespeichert werden? Wissen Sie, ob die Dateien Datendateien sind? Und woher weiß man das wirklich ohne Root?SS
/sdcard/Android/data
, tatsächlich habe ich es gerade in einer bestimmten App versucht und es hat funktioniert. Außerdem denke ich/Android/data
und/data/data
habe unterschiedliche Zwecke. Ich habe festgestellt, dass dies/Android/data
eher für Caches/Dateien im Zusammenhang mit Anzeigen verwendet wird, während/data/data
es eher für private Dinge (z. B. zum Speichern von Anmeldeinformationen) verwendet wird.xavier_fakerat