Ein vollständiges Backup und Restore sind bei Android nicht vorgesehen. Der Umstieg auf ein neues Smartphone ist daher mit einiger Arbeit verbunden. Am Beispiel AK Notepad lässt sich zeigen, dass in Einzelfällen eine Wiederherstellung möglich ist.
Wie viel Aufwand der Umstieg auf ein neues Smartphone erfordert, hängt von den installierten Apps ab. Wer ausschließlich mit Google-Apps arbeitet und alle Daten in der Cloud sichert, hat nur wenig zu tun. Sobald auf dem neuen Smartphone die Anmeldung beim Google-Konto erfolgt ist, werden die Apps wiederhergestellt und Gmail, Google Drive und Google Docs lassen sich wie zuvor nutzen. Das funktioniert jedoch nicht bei allen Apps so einfach.
Unix-Tools:
Einige Tool für Windows aus der Linux/Unix-Welt, die Sie für die Bearbeitung von Android-Backup-Archiven benötigen.
Android Platform-Tools:
https://developer.android.com/studio/releases/platform-tools
android-backup-extractor (für verschlüsselte Geräte):
https://sourceforge.net/projects/adbextractor/files/
Java für android-backup-extractor:
https://www.java.com/
Backup bei Drittanbieter-Apps
Bei Apps von Drittanbietern muss man in der Regel selbst tätig werden. WhatsApp-Nutzer beispielsweise gehen auf das Menü rechts oben (drei Punkte) und dann auf „Einstellungen -> Chats -> Chat-Backup“. Hier kann man einstellen, wann der Chat-Verlauf auf Google Drive gesichert werden soll – entweder automatisch nach Zeitplan oder wenn man auf „Sichern“ tippt. Wenn man WhatsApp auf einem neuen Smartphone installiert, wird nach der Anmeldung die Wiederherstellung automatisch angeboten.
Ein weiteres Beispiel ist K‑9 Mail. Hier muss man zur Startseite zurückblättern. Das Drei-Punkte-Menü rechts unten enthält den Menüpunkt „Einstellungen im- & exportieren“. Darüber geht es zu „Einstellungen und Konten exportieren“ oder „Einstellungen importieren“. Die Sicherung kann lokal in einem beliebigen Ordner (SD-Karte /interner Speicher) erfolgen oder auf Google Drive.
Bei einer lokalen Sicherung kann und sollte man dann alle Ordner und Dateien von der SD-Karte beziehungsweise dem internen Speicher kopieren. Das geschieht vorzugsweise am PC über den Dateimanager. Damit sichert man dann auch Fotos, Video, Musik sowie Dokumente und was noch alles im Speicherbereich zu finden ist.
Apps ohne Backup Funktion
Vor allem ältere Apps bieten keine Möglichkeit, Daten auf der SD-Karte oder in der Cloud zu sichern. Ein Beispiel dafür ist AK Notepad, eine einfache Notizen-App. Ursprünglich konnte die App Daten auf dem Server des Anbieters speichern (catch.com). Der Dienst und auch die App wurden jedoch 2013 eingestellt.
AK Notepad kann einzelne Notizen auf der SD-Karte sichern. Das ist jedoch keine Option für Nutzer, die einige Hundert Notizen gespeichert haben. Eine Mehrfachauswahl gibt es nicht. An die Daten kommt man daher nicht ohne Weiteres heran.
Aus Sicherheitsgründen legen Apps Daten nur im eigenen Konfigurationsspeicher ab („/data/data“), auf den andere Apps keinen Zugriff haben. Der Nutzer kann die zugehörigen Ordner nur öffnen, wenn er root-Rechte besitzt. Ganz stimmt das jedoch nicht. Im Fall AK Notepad lassen sich die Daten beispielsweise mit My Backup sichern. In der kostenlosen Version ist die Wiederherstellung jedoch nur auf dem gleichen Gerät möglich. Für den Umzug auf ein neues Smartphone muss man die App für 6,99 Euro kaufen. Mit einem gewissen Aufwand lassen sich Backup und Restore jedoch auch mit Google-Tools gratis durchführen.
ADB für Backup und Restore verwenden
ADB (Android Debug Bridge) ist ein Google-Tool, über das man auf ein Android-Gerät zugreifen kann. Damit lassen sich beispielsweise Dateien übertragen oder Apps installieren. Das führt zunächst auch nicht weiter, weil auch ADB der Zugriff auf die Konfigurationsspeicher der Apps verboten ist. Es gibt aber ein Backup-Kommando (ab Android 4), das dieser Einschränkung nicht in jedem Fall unterliegt und ohne root-Berechtigungen funktioniert.
Eine Warnung vorweg: Die Backup- und Restore-Funktionen von ADB gelten als „deprecated“, werden also in zukünftigen ADB-Versionen nicht mehr unterstützt. In der derzeit (Juli 2020) aktuellen ADB-Version 1.0.41 sind die Funktionen aber noch vorhanden. Die Entwickler sollen in Zukunft eigene (Cloud-)Backup-Funktionen in ihre Apps einbauen. Bei vielen neueren Apps ist ADB aber schon jetzt nicht mehr in der Lage, ein Backup zu erstellen. Die Entwickler können das Backup im Manifest der App verbieten.
Bei älteren Apps wie AK Notepad funktioniert das Backup jedoch noch, wenn auch die Wiederherstellung zunächst verbaut scheint. Aber auch die ist mit einem Trick möglich.
Tools besorgen: ADB ist Bestandteil des Android-SDK. Es genügt aber, nur die Android Platform-Tools herunterzuladen. Der Download ist für Windows, Linux und Mac OS verfügbar.
Kopieren Sie unter Windows den Inhalt des ZIP-Archivs beispielsweise nach „C:\Tools\Android“. Laden Sie das Paket Unix-Tools herunter und entpacken Sie den Inhalt in den gleichen Ordner.
Linux-Nutzer finden die meisten Tools standardmäßig im System: cat, dd und tar. zlib-flate ist im Paket qpdf (Ubuntu) enthalten, star kann man über https://sourceforge.net/projects/adbextractor/files/ und zurzeit „android-backup-tookit-20180521.zip“ herunterladen. Oder man kompiliert das Tool selbst. Der Quelltext ist unter https://sourceforge.net/projects/schilytools/files/ erhältlich. Für Linux sind die Pfade in den Windows-Beispielbefehlszeilen entsprechend anzupassen.
Entwicklermodus auf dem Smartphone freischalten: Gehen Sie in den Einstellungen auf „Telefoninfo“ und tippen schnell hintereinander bis zu zehnmal auf „Build-Nummer“. “Entwickleroptionen“ wird dann in den Einstellungen angezeigt. Bei neueren Geräten führt der Weg beispielsweise über „Mein Gerät -> MIUI-Version“. Die „Entwickleroptionen“ befinden sich dann meist unter „Weitere Einstellungen“. Bei einem Tablet gehen Sie beispielsweise auf „Info zu Tablet“ und tippen mehrfach auf „Buildnummer“.
Aktivieren Sie „USB-Debugging“ und wenn vorhanden, auch „Installieren über USB“ und „USB-Debugging (Sicherheitseinstellungen)“. Die verfügbaren Optionen und Beschriftungen können je nach Gerät abweichen.
Ist das Gerät bereits per USB mit dem PC verbunden, bestätigen Sie den Zugriff auf dem Android-Gerät.
Backup mit ADB erstellen
Öffnen Sie eine Eingabeaufforderung („cmd.exe“). Wechseln Sie in das Verzeichnis, in dem die Tools zu finden sind:
cd C:\Tools\Android
Verbinden Sie das Smartphone per USB mit dem PC. Führen Sie diese Befehlszeile aus:
adb devices
Bestätigen Sie den Zugriff auf Ihrem Android-Gerät, wenn noch nicht geschehen.
Sie sehen jetzt die ID des Gerätes, das mit dem PC verbunden ist. Mit der folgenden Befehlszeile erstellen Sie ein vollständiges Backup (soweit möglich):
adb backup -all -apk -shared -f c:\[Backup-Ziel]\backup.ab
Für den Platzhalter „[Backup-Ziel]“ setzen Sie einen Ordner ein, in dem das Backup gespeichert werden soll. Auf dem Android-Geräte leiten Sie das Backup per „Meine Daten sichern“ ein. Ein Passwort müssen Sie nur eingeben, wenn das Gerät verschlüsselt ist. Andernfalls lassen Sie es leer, das erleichtert die Wiederherstellung.
Die Sicherungsdatei „backup.ab“ enthält die Konfigurationsdaten der Apps, die apk-Dateien für die Installation und den Inhalt des zusätzlichen Speichers (SD-Karte, virtuelle SD-Karte). Da die Übertragung mit ADB über USB relativ langsam ist, dauert der Vorgang entsprechend lange. Den Fortschritt können Sie auf dem Smartphone verfolgen.
Nur AK Notepad sichern (Beispiel)
Über ADB lässt sich gezielt nur eine App sichern, was deutlich schneller geht. Dazu müssen Sie aber die interne Bezeichnung der App kennen. Die lässt sich mit
adb shell pm list packages -3
ermitteln.
Verwenden Sie
adb shell pm list packages -3 > packages.txt
um die Ausgabe in eine Textdatei umzuleiten. Darin lässt sich dann bequemer nach einer App suchen. Bei unserem Beispiel AK Notepad lautet die interne Bezeichnung „com.akproduction.notepad“.
Mit der Zeile
adb backup -f C:\[Backup-Ziel]\AK_Notepad.ab -apk kcom.akproduction.notepad
erstellen Sie ein Backup der Daten dieser App und des Installationspakets (apk-Datei). Verwenden Sie
adb backup -f C:\[Backup-Ziel]\[Backup-Name].ab [Paket-Bezeichnung]
wenn Sie die apk-Datei nicht sichern wollen.
Daten mit ADB wiederherstellen (unverschlüsseltes Gerät)
Verbinden Sie Ihr neues Android-Gerät per USB mit dem PC und aktivieren Sie auch hier die Entwickleroptionen und das USB-Debugging.
Theoretisch würde jetzt
adb restore C:\[Backup-Ziel]\AK_Notepad.ab
ausreichen, um das Backup wiederherzustellen. Das funktioniert jedoch in der Regel aus zwei Gründen nicht. Viele Android-Geräte installieren beim Restore das enthaltene apk-Paket nicht und die Wiederherstellung schlägt ohne Fehlermeldung fehl. Im speziellen Fall AK Notepad funktioniert die Wiederherstellung auch nicht, wenn die App installiert ist. Warum das so ist, darüber lassen sich nur Vermutungen anstellen. Wahrscheinlich passt die eindeutige App-ID nicht zur Datenbank, AK Notepad ignoriert die Dateien aus dem Backup und erstellt eine neue Datenbank für die Notizen.
Beide Probleme lassen sich jedoch umgehen.
Schritt 1: Zuerst müssen wir das Backup entpacken (vier Zeilen):
set PATH=C:\Tools\Android;%PATH% cd [Backup-Ziel] dd if=AK_Notepad.ab bs=24 skip=1 | zlib-flate -uncompress > AK_Notepad.tar tar xvf AK_Notepad.tar
Die entpackten Dateien liegen jetzt unterhalb des Ordners „apps“, die apk-Datei für die Installation ist bei unserem Beispiel unter „[Backup-Ziel]\apps\com.akproduction.notepad\a\base.apka\base.apk“ zu finden.
Schritt 2: Für die Installation auf dem neuen Gerät verwenden Sie
adb install [Backup-Ziel]\apps\com.akproduction.notepad\a\base.apk
Schritt 3: Löschen Sie im Ordner „[Backup-Ziel]\apps\com.akproduction.notepad\“ alle Ordner außer „db“ und belassen Sie die Datei „_manifest“ im Hauptverzeichnis. Erstellen Sie eine Textdatei mit dem Namen „AK_Notepad.list“ und diesen zwei Zeilen als Inhalt:
apps/com.akproduction.notepad/_manifest apps/com.akproduction.notepad/db/aknotepad.db
Schritt 4: Starten Sie diese vier Befehlszeilen:
cd [Backup-Ziel] star -c -v -f AK_new.tar -no-dirslash list=AK_Notepad.list dd if=AK_Notepad.ab bs=24 count=1 of= AK_Notepad_new.ab cat AK_new.tar | zlib-flate -compress >> AK_Notepad_new.ab
Danach stellen Sie das Backup mit
adb restore [Backup-Ziel]\AK_Notepad_new.ab
wieder her.
Daten wiederherstellen (verschlüsseltes Gerät)
Bei verschlüsselten Geräte muss auch das Backup verschlüsselt sein. Zur Entschlüsselung benötigen Sie weitere Tools: Den android-backup-extractor. Laden Sie die Datei „android-backup-extractor-20180521-bin.zip“ herunter und entpacken Sie die Dateien in Ihren Tools-Ordner („C:\Tools\Android“). Für das Java-Tool ist eine Java-Installation erforderlich, die Sie – wenn noch nicht vorhanden – über https://www.java.com/ herunterladen. Verwenden Sie immer die neueste Version, denn nur hier sind die für die Entschlüsselung erforderlichen Bibliotheken vorhanden (siehe auch Readme.txt in android-backup-extractor).
Erstellen Sie auf dem alten Gerät ein Backup wie oben beschrieben. Tippen Sie dabei ein Passwort ein. Verwenden Sie dann diese Befehlszeile:
set PATH=C:\Tools\Android;%PATH% cd [Backup-Ziel] java -jar C:\Tools\Android\abe.jar unpack AK_Notepad.ab AK_Notepad.tar [password]
Wenn Sie den Platzhalter „[password]“ nicht mit einem Passwort füllen und die ab-Datei verschlüsselt ist, fragt das Tool nach einem Passwort.
Entpacken Sie die tar-Datei mit
tar xvf AK_Notepad.tar
Danach installieren Sie die apk-Datei und löschen die überflüssigen Dateien wie im vorherigen Abschnitt beschrieben. Aus der Datei „AK_new.tar“ erstellen Sie eine neue, verschlüsselte Restore-Datei:
java -jar C:\Tools\Android\abe.jar pack AK_new.tar AK_Notepad_new.ab [password]
Zur Installation führen Sie
adb restore [Backup-Ziel]\AK_Notepad_new.ab
aus. Auf dem Gerät geben Sie das Passwort für die Entschlüsselung ein.
Backup-Daten extrahieren
Mit den beschriebenen Methoden lässt sich AK Notepad auch auf dem neuen Gerät weiter nutzen. Ob man ein Tool, für das es keine Updates mehr gibt, tatsächlich weiter verwenden sollte, ist eine andere Frage.
Viele Android-Apps verwenden eine Sqlite-Datenbank (https://www.sqlite.org) als Datenspeicher, deren Inhalt sich auslesen lässt. Das dafür nötige Tool sqlite3.exe ist in den Platform-Tools enthalten (https://developer.android.com/studio/releases/platform-tools), befindet sich also bereits im Ordner „C:\Tools\Android“. Für den Export dr AK-Notepad-Notizen verwenden Sie diese Befehlszeilen:
cd [Backup-Ziel]\apps\com.akproduction.notepad\db sqlite3 aknotepad.db .dump > aknotepad.sql
Wenn Sie das CSV-Format bevorzugen, geht das so:
cd [Backup-Ziel]\apps\com.akproduction.notepad\db sqlite3 -header -csv aknotepad.db "select * from notes" > aknotepad.csv
Die Daten lassen sich damit retten und in einem Texteditor ansehen. Sie können dann zumindest die wichtigsten Notizen kopieren und in ein anderes Notizen-Programm einfügen.
Schreibe einen Kommentar