Reicht das Kopieren von allem aus /data/app und /data/data für die Sicherung der App aus?

Ich habe ein Android-Gerät (Xiaomi MiPad-I, Stable ROM), das für das Rooten nicht ganz geeignet ist, daher kann ich Titanium Backup darauf nicht installieren. Ich kann das Gerät jedoch mit der CWM-Wiederherstellung booten und die /system- und /data-Partitionen während des Bootens im RW-Modus mounten.

In diesem Modus kann ich alles kopieren, was ich will, indem ich mich mit einem PC verbinde und adbBefehle verwende. Ich möchte jedoch wissen, ob das Kopieren des Inhalts von /data/app und /data/data auf meinen PC für die Sicherung aller Apps ausreicht? Oder gibt es noch etwas, was Titanium Backup tut? Ich brauche nur die Benutzer-Apps, System-Apps sind bereits verfügbar, entweder durch Zurücksetzen auf die Werkseinstellungen oder Flashen eines Stock-ROMs.

Sie möchten auch alles in /sdcard/Android. Einige Apps speichern dort Daten und alle OBB-Dateien sind auch dort.
Sie müssen auch die Symlinks sichern. Nur TAR kann das ( adb pullreicht nicht aus, wenn Sie einfach alles mit wiederherstellen möchten adb push, können Sie das realistischerweise nicht).
@GiantTree Danke! Welche Symlinks werden benötigt? Dürfen Nicht-Root-Apps Symlinks erstellen und dort Daten speichern? Ich hatte den Eindruck, dass Nicht-Root-Apps nur auf /data/data/package_name zugreifen dürfen und nur dort isoliert sind.
Außerdem benötige ich nur eine Datensicherung , die apks kann ich separat installieren. Zum Beispiel brauche ich den Firefox-Cache. Ich kann Firefox apk jederzeit installieren, aber ich muss meinen Browserverlauf sichern und wiederherstellen.
Alle Apps haben einen symbolischen Link von /data/data/<package name>/libszu einem Verzeichnis, das ihre Bibliotheken enthält. Sie schlagen fehl, wenn Sie einfach das Verzeichnis wiederherstellen, sie benötigen den entsprechenden Symlink zum Bibliotheksordner (wegen Berechtigungen, IDs und etwas mehr Magie). Durch die Neuinstallation der App wird sichergestellt, dass der Symlink korrekt erstellt wird.
Was ist, wenn ich die Apps (APK) und nur ihre Daten nicht sichern möchte? Wie ich im Firefox-Beispiel sagte, geht es mir nur um die Daten (Browserverlauf), die Firefox gespeichert hat. Ich habe alle APKs separat gesichert (ES File Explorer tut es bereits). Meine Idee zur Wiederherstellung ist also: 1. Installieren Sie zuerst die APK separat (firefox_47.apk). 2. Starten Sie CWM neu und kopieren Sie die /data/data-Dateien. Wird es funktionieren?
Ja, aber nur, wenn Sie daran denken, Eigentum und Berechtigungen richtig festzulegen. Sie können den richtigen Eigentümer aus dem Verzeichnis selbst ermitteln, und die Berechtigungen sollten 660 für Dateien und 771 für Ordner sein (rw-rw---- und rwxrwx--x). Einige Wiederherstellungen verfügen über eine „Berechtigungen reparieren“-Funktion, die Sie stattdessen verwenden können.

Antworten (1)

Um ein Backup nach Ihren Wünschen zu erstellen, können Sie einfach alles kopieren, /data/dataaußer den libVerzeichnissen/Symlinks (sie schlagen fehl, wenn Sie sie wiederherstellen/pushen möchten).

Eine sehr einfache Sache ist es, adb pull /data/dataalle Dateien zu löschen lib(da Symlinks nur Dateien sind, diese aber auf Verzeichnisse verweisen).

Bei der Wiederherstellung können Sie jede App installieren, adb installz. B. mit, und die Daten manuell wiederherstellen, dh. Schieben Sie es einfach zurück und korrigieren Sie die Berechtigungen.
Stellen Sie sicher, dass die betreffenden Apps nicht ausgeführt werden.

Um Berechtigungen zu korrigieren, können Sie dies entweder manuell / mit einem schnellen Shell-Skript tun. Lesen Sie den Eigentümer des Datenverzeichnisses jeder App und legen Sie diesen Eigentümer (und diese Gruppe) rekursiv auf diesen Eigentümer und diese Gruppe fest (mithilfe von chown user:group -R /data/data/<package name>). Benutzer und Gruppen haben das Format u0_a000, der symbolische Link zu libgehört install.