Backup der Daten einer Android-App

In diesem Artikel möchte ich euch eine Lösung vorstellen, wie ihr ein ein Android Backup eurer Daten machen könnt und im speziellen, Daten aus einer App zu erhalten.

Ich hatte vor kurzem ein Problem mit einer Android-App. Diese lag in einer früheren Version auf meinem ungerootetem Smartphone Gerät vor. Über die App waren auch schon Daten gespeichert worden. Als ich nun ein Update dieser App machte, wurden mir einige Daten nicht mehr angezeigt, weil die neue App die alte Datenbank nicht mehr verarbeiten konnte. Glücklicherweise hatte ich ein Backup der Daten gemacht. Problem daran war, dass ich das Backup nach dem Update gemacht hatte und die alte App-Version nicht mit den Backup-Daten der neuen App kombinieren konnte. Die Backup-App meinte, sie wären nicht kompatibel. Ein manuelles Anpassen der beiden Backup-Dateien brachte mir korrupte Backups. Da ich auch nicht gerootet bin, kann ich die Daten nicht so einfach extrahieren. Und durch einen Root meines Smartphones würde ich alle Daten verlieren. Also, was tun?

Vor ein paar Jahren war die App „Helium“ für das Backup der Smartphone-Daten im ungerootetem Zustand recht populär. Diese probierte ich aus. Ich konnte mit ihr auch Daten erhalten, nur leider nicht mit einem Sqlite-Datenbanktool auf die App-Datenbank zugreifen. Aus irgendeinem Grund hatte das Backup per Helium nicht funktioniert. Eine weitere Terminal-Lösung aus den xda-Foren erbrachte selbiges Ergebnis. Nach einiger totgeschlagenen Zeit fand ich eine wunderbar funktionerende Lösung. Sie basiert auf den selben Backup-Strategien wie Helium, brachte mir jedoch eine aufrufbare Datenbank, mit der ich meine Daten in eine neue Datenbank übertragen konnte. Nur hierbei brauchte ich ein gerootetes Gerät.

Die verwendeten Backup-Lösungen werden vor allem für ein Komplett-Backup des Smartphones verwendet. Ich beschränke mich jedoch auf eine bestimmte App, deren Package-Name ich noch nicht weiß.

Schritt 1: Vorbereitung

Hierzu braucht ihr drei Tools, die auch hier in meinem Downloadcenter angeboten werden. Ihr ladet die ersten beiden Pakete auf euren Rechner und entpackt diese dort. Die App installiert ihr bitte.

Um später eine gewisse App sichern zu können, müssen wir diese erst eingrenzen. Möglich wäre es, die App-Daten aus einem Komplett-Backup herauszuholen, aber die Erstellung dessen könnte recht lange dauern und wir wollen ja nur eine App haben. Ruft daher dir zuvor heruntergeladene App „System Info for Android“ auf und sucht in der Liste nach dem Package-Namen der App. Diesesfindet ihr im Format „com.example.app“. Schreibt es euch am besten in eine Textdatei.

Schritt 2: Aktivieren des Desktop-Sicherungspasswortes

Um Daten von einem Android-Smartphone sichern zu können, wurde eine Sperre per Passwort eingebaut. Diese soll verhindern, dass keine Unbekannten mit den später folgenden Befehlen eure Smartphone-Daten sichern können. Stellt euch vor, ihr seid gerade im Flughafensicherheitsbereichs eines Landes mit Sternen und Streifen auf der Flagge und müsst gerade durch die Sicherheitsschleuse gehen. Euer Smartphone ist gerade durch den Scanner gewandert und ihr werdet auf einmal in ein Gespräch verwickelt. Nun könnte ein Sicherheitsbeamter euer Smartphone nehme, und es an einem Rechner anschließen und ein Komplett-Backup eurer Daten zu machen…

Da wir über die selbe Methode Daten sichern möchten, müssen wir zwangsläufig diesen Schritt gehen. Da wir uns aber selber vertrauen, können wir das Passwort getrost leer lassen. Ich empfehle euch jedoch für alle Fälle, ein starkes Passwort zu setzen. Dies könnt ihr nach dieser Anleitung machen, um dem oben genannten Fall entgegenzuwirken. Um das Passwort setzen zu können, müssen wir in den Entwickleroptionen die Sperre aktivieren. Die Entwickleroptionen schaltet ihr frei, indem ihr 10 mal auf die Build-Nummer unter den Telefon-Infos tippt.

Schritt 3: Das Backup

Kleiner Tipp voraus: kopiert die Daten aus dem adb-Ordner in den android-backup-extractor-Ordner.
Schließt euer Smartphone per Kabel an eurem Rechner an – Treiber sollten installiert sein.
Nun brauchen wir die Kommandozeile. Shift gehalten und rechtsklickt auf den Ordner, in dem die adb-Datei liegt. Wählt dann „Eingabeaufforderung hier öffnen“ aus. Es sollte sich das CMD-Fenster öffnen.
Nun gebt ihr folgende Befehle ein.

adb devices

Mit diesem Befehl prüfen wir, ob das Gerät erkannt wird. Es sollte eine Nummer angezeigt werden. Wenn nicht, prüft, ob die Treiber korrekt installiert wurden.

adb backup -f backup.ab de.android.example

Mit diesem dem Flag -f und dem folgenden Dateinamen geben wir an, dass wir in unserem Arbeitsverzeichnis eine Datei namens backup.ab erstellen wollen. Dahinter geben den Package-Namen unserer App an. Danach wird das Backup der Daten der angegebenen App erstellt. wenn ihr ein „-all“ nach dem Backup setzt, werden all eure Apps gesichert.

Schritt 4: Extraktion

Um die Daten für uns verwendbar zu machen, müssen wir sie zuerst umwandeln. Dies Dabei brauchen wir das vorher entpackte Tool „Android Backup Extractor“. Wenn ihr die adb-Datei in das Verzeichnis kopiert habt, könnt ihr den Befehl im selben Konsolen-Fenster ausführen. Wenn nicht, öffnet mit der zuvor beschrieben Variante ein neues Fenster in dem Ordner.

java -jar abe.jar unpack backup.ab backup.tar

Mit diesem Befehl wandeln wir unsere Android-Backup-Datei in ein .tar Paket um, welches wir mit einem Packer-Tool wie WinRar öffnen können. Den tar-Dateinamen könnt ihr beliebig wählen.
Die Datenbank der App finden wir unter dem Ordner „db“. Diese lässt sich nun mit einem Datenbank-Tool wie Sqlite Browser öffnen und bearbeiten.

Um die alte Datenbank auf eine neue zu übertragen, hatte ich die alte, extrahierte und eine neue Datenbank gleichzeitig offen und die Daten der alten in die neue importiert. Die aktualisierte Datenbank habe ich auf einem gerootetem Smartphone unter der neuen App-Version eingefügt und konnte meine alten Daten nun wieder nutzen. Mittels Export und Import einer Datendatei konnte ich die App auch auf meinem ungerootetem Hauptgerät weiter nutzen.

 

Helium - App Sync and Backup
Helium - App Sync and Backup
Entwickler: ClockworkMod
Preis: Kostenlos

Kommentar verfassen