Android Backup und Restore mit Android Debug Bridge (veraltet)

Ein voll­stän­di­ges Back­up und Res­to­re sind bei Android nicht vor­ge­se­hen. Der Umstieg auf ein neu­es Smart­phone ist daher mit eini­ger Arbeit ver­bun­den. Am Bei­spiel AK Note­pad lässt sich zei­gen, dass in Ein­zel­fäl­len eine Wie­der­her­stel­lung mög­lich ist.

Wie viel Auf­wand der Umstieg auf ein neu­es Smart­phone erfor­dert, hängt von den instal­lier­ten Apps ab. Wer aus­schließ­lich mit Goog­le-Apps arbei­tet und alle Daten in der Cloud sichert, hat nur wenig zu tun. Sobald auf dem neu­en Smart­phone die Anmel­dung beim Goog­le-Kon­to erfolgt ist, wer­den die Apps wie­der­her­ge­stellt und Gmail, Goog­le Dri­ve und Goog­le Docs las­sen sich wie zuvor nut­zen. Das funk­tio­niert jedoch nicht bei allen Apps so ein­fach.

Down­loads zu die­sem Arti­kel:
Unix-Tools:
Eini­ge Tool für Win­dows aus der Linux­/U­nix-Welt, die Sie für die Bear­bei­tung von Android-Back­up-Archi­ven benö­ti­gen.
258 Down­loads

Android Plat­form-Tools:
https://developer.android.com/studio/releases/platform-tools
android-back­up-extra­c­tor (für ver­schlüs­sel­te Gerä­te):
https://sourceforge.net/projects/adbextractor/files/
Java für android-back­up-extra­c­tor:
https://www.java.com/

Backup bei Drittanbieter-Apps

Bei Apps von Dritt­an­bie­tern muss man in der Regel selbst tätig wer­den. Whats­App-Nut­zer bei­spiels­wei­se gehen auf das Menü rechts oben (drei Punk­te) und dann auf „Ein­stel­lun­gen -> Chats -> Chat-Back­up“. Hier kann man ein­stel­len, wann der Chat-Ver­lauf auf Goog­le Dri­ve gesi­chert wer­den soll – ent­we­der auto­ma­tisch nach Zeit­plan oder wenn man auf „Sichern“ tippt. Wenn man Whats­App auf einem neu­en Smart­phone instal­liert, wird nach der Anmel­dung die Wie­der­her­stel­lung auto­ma­tisch ange­bo­ten.

Ein wei­te­res Bei­spiel ist K‑9 Mail. Hier muss man zur Start­sei­te zurück­blät­tern. Das Drei-Punk­te-Menü rechts unten ent­hält den Menü­punkt „Ein­stel­lun­gen im- & expor­tie­ren“. Dar­über geht es zu „Ein­stel­lun­gen und Kon­ten expor­tie­ren“ oder „Ein­stel­lun­gen impor­tie­ren“. Die Siche­rung kann lokal in einem belie­bi­gen Ord­ner (SD-Kar­te /interner Spei­cher) erfol­gen oder auf Goog­le Dri­ve.

Bei einer loka­len Siche­rung kann und soll­te man dann alle Ord­ner und Datei­en von der SD-Kar­te bezie­hungs­wei­se dem inter­nen Spei­cher kopie­ren. Das geschieht vor­zugs­wei­se am PC über den Datei­ma­na­ger. Damit sichert man dann auch Fotos, Video, Musik sowie Doku­men­te und was noch alles im Spei­cher­be­reich zu fin­den ist.

Apps ohne Backup Funktion

Vor allem älte­re Apps bie­ten kei­ne Mög­lich­keit, Daten auf der SD-Kar­te oder in der Cloud zu sichern. Ein Bei­spiel dafür ist AK Note­pad, eine ein­fa­che Noti­zen-App. Ursprüng­lich konn­te die App Daten auf dem Ser­ver des Anbie­ters spei­chern (catch.com). Der Dienst und auch die App wur­den jedoch 2013 ein­ge­stellt.

AK Note­pad kann ein­zel­ne Noti­zen auf der SD-Kar­te sichern. Das ist jedoch kei­ne Opti­on für Nut­zer, die eini­ge Hun­dert Noti­zen gespei­chert haben. Eine Mehr­fach­aus­wahl gibt es nicht. An die Daten kommt man daher nicht ohne Wei­te­res her­an.

Aus Sicher­heits­grün­den legen Apps Daten nur im eige­nen Kon­fi­gu­ra­ti­ons­spei­cher ab („/data/data“), auf den ande­re Apps kei­nen Zugriff haben. Der Nut­zer kann die zuge­hö­ri­gen Ord­ner nur öff­nen, wenn er root-Rech­te besitzt. Ganz stimmt das jedoch nicht. Im Fall AK Note­pad las­sen sich die Daten bei­spiels­wei­se mit My Back­up sichern. In der kos­ten­lo­sen Ver­si­on ist die Wie­der­her­stel­lung jedoch nur auf dem glei­chen Gerät mög­lich. Für den Umzug auf ein neu­es Smart­phone muss man die App für 6,99 Euro kau­fen. Mit einem gewis­sen Auf­wand las­sen sich Back­up und Res­to­re jedoch auch mit Goog­le-Tools gra­tis durch­füh­ren.

Backup des WhatsApp-Chats
Whats­App Chat Back­up

ADB für Backup und Restore verwenden

ADB (Android Debug Bridge) ist ein Goog­le-Tool, über das man auf ein Android-Gerät zugrei­fen kann. Damit las­sen sich bei­spiels­wei­se Datei­en über­tra­gen oder Apps instal­lie­ren. Das führt zunächst auch nicht wei­ter, weil auch ADB der Zugriff auf die Kon­fi­gu­ra­ti­ons­spei­cher der Apps ver­bo­ten ist. Es gibt aber ein Back­up-Kom­man­do (ab Android 4), das die­ser Ein­schrän­kung nicht in jedem Fall unter­liegt und ohne root-Berech­ti­gun­gen funk­tio­niert.

Eine War­nung vor­weg: Die Back­up- und Res­to­re-Funk­tio­nen von ADB gel­ten als „depre­ca­ted“, wer­den also in zukünf­ti­gen ADB-Ver­sio­nen nicht mehr unter­stützt. In der der­zeit (Juli 2020) aktu­el­len ADB-Ver­si­on 1.0.41 sind die Funk­tio­nen aber noch vor­han­den. Die Ent­wick­ler sol­len in Zukunft eige­ne (Cloud-)Backup-Funktionen in ihre Apps ein­bau­en. Bei vie­len neue­ren Apps ist ADB aber schon jetzt nicht mehr in der Lage, ein Back­up zu erstel­len. Die Ent­wick­ler kön­nen das Back­up im Mani­fest der App ver­bie­ten.

Bei älte­ren Apps wie AK Note­pad funk­tio­niert das Back­up jedoch noch, wenn auch die Wie­der­her­stel­lung zunächst ver­baut scheint. Aber auch die ist mit einem Trick mög­lich.

Tools besor­gen: ADB ist Bestand­teil des Android-SDK. Es genügt aber, nur die Android Plat­form-Tools her­un­ter­zu­la­den. Der Down­load ist für Win­dows, Linux und Mac OS ver­füg­bar.

Kopie­ren Sie unter Win­dows den Inhalt des ZIP-Archivs bei­spiels­wei­se nach „C:\Tools\Android“. Laden Sie das Paket Unix-Tools her­un­ter und ent­pa­cken Sie den Inhalt in den glei­chen Ord­ner.

Linux-Nut­zer fin­den die meis­ten Tools stan­dard­mä­ßig im Sys­tem: cat, dd und tar. zlib-fla­te ist im Paket qpdf (Ubun­tu) ent­hal­ten, star kann man über https://sourceforge.net/projects/adbextractor/files/ und zur­zeit „android-backup-tookit-20180521.zip“ her­un­ter­la­den. Oder man kom­pi­liert das Tool selbst. Der Quell­text ist unter https://sourceforge.net/projects/schilytools/files/ erhält­lich. Für Linux sind die Pfa­de in den Win­dows-Bei­spiel­be­fehls­zei­len ent­spre­chend anzu­pas­sen.

Ent­wick­ler­mo­dus auf dem Smart­phone frei­schal­ten: Gehen Sie in den Ein­stel­lun­gen auf „Tele­fon­in­fo“ und tip­pen schnell hin­ter­ein­an­der bis zu zehn­mal auf „Build-Num­mer“. “Ent­wick­ler­op­tio­nen“ wird dann in den Ein­stel­lun­gen ange­zeigt. Bei neue­ren Gerä­ten führt der Weg bei­spiels­wei­se über „Mein Gerät -> MIUI-Ver­si­on“. Die „Ent­wick­ler­op­tio­nen“ befin­den sich dann meist unter „Wei­te­re Ein­stel­lun­gen“. Bei einem Tablet gehen Sie bei­spiels­wei­se auf „Info zu Tablet“ und tip­pen mehr­fach auf „Build­num­mer“.

Akti­vie­ren Sie „USB-Debug­ging“ und wenn vor­han­den, auch „Instal­lie­ren über USB“ und „USB-Debug­ging (Sicher­heits­ein­stel­lun­gen)“. Die ver­füg­ba­ren Optio­nen und Beschrif­tun­gen kön­nen je nach Gerät abwei­chen.

Ist das Gerät bereits per USB mit dem PC ver­bun­den, bestä­ti­gen Sie den Zugriff auf dem Android-Gerät.

Entwickleroptionen in Android aktivieren
Ent­wick­ler­op­tio­nen in Android akti­vie­ren (USB-Debug­ging)

Backup mit ADB erstellen

Öff­nen Sie eine Ein­ga­be­auf­for­de­rung („cmd.exe“). Wech­seln Sie in das Ver­zeich­nis, in dem die Tools zu fin­den sind:

cd C:\Tools\Android

Ver­bin­den Sie das Smart­phone per USB mit dem PC. Füh­ren Sie die­se Befehls­zei­le aus:

adb devices

Bestä­ti­gen Sie den Zugriff auf Ihrem Android-Gerät, wenn noch nicht gesche­hen.
Sie sehen jetzt die ID des Gerä­tes, das mit dem PC ver­bun­den ist. Mit der fol­gen­den Befehls­zei­le erstel­len Sie ein voll­stän­di­ges Back­up (soweit mög­lich):

adb backup -all -apk -shared -f c:\[Backup-Ziel]\backup.ab

Für den Platz­hal­ter „[Back­up-Ziel]“ set­zen Sie einen Ord­ner ein, in dem das Back­up gespei­chert wer­den soll. Auf dem Android-Gerä­te lei­ten Sie das Back­up per „Mei­ne Daten sichern“ ein. Ein Pass­wort müs­sen Sie nur ein­ge­ben, wenn das Gerät ver­schlüs­selt ist. Andern­falls las­sen Sie es leer, das erleich­tert die Wie­der­her­stel­lung.

Sicherung bestätigen
Back­up bestä­ti­gen

Die Siche­rungs­da­tei „backup.ab“ ent­hält die Kon­fi­gu­ra­ti­ons­da­ten der Apps, die apk-Datei­en für die Instal­la­ti­on und den Inhalt des zusätz­li­chen Spei­chers (SD-Kar­te, vir­tu­el­le SD-Kar­te). Da die Über­tra­gung mit ADB über USB rela­tiv lang­sam ist, dau­ert der Vor­gang ent­spre­chend lan­ge. Den Fort­schritt kön­nen Sie auf dem Smart­phone ver­fol­gen.

Nur AK Notepad sichern (Beispiel)

Über ADB lässt sich gezielt nur eine App sichern, was deut­lich schnel­ler geht. Dazu müs­sen Sie aber die inter­ne Bezeich­nung der App ken­nen. Die lässt sich mit

adb shell pm list packages -3

ermit­teln.

Ver­wen­den Sie

adb shell pm list packages -3 > packages.txt

um die Aus­ga­be in eine Text­da­tei umzu­lei­ten. Dar­in lässt sich dann beque­mer nach einer App suchen. Bei unse­rem Bei­spiel AK Note­pad lau­tet die inter­ne Bezeich­nung „com.akproduction.notepad“.

Mit der Zei­le

adb backup -f C:\[Backup-Ziel]\AK_Notepad.ab -apk kcom.akproduction.notepad

erstel­len Sie ein Back­up der Daten die­ser App und des Instal­la­ti­ons­pa­kets (apk-Datei). Ver­wen­den Sie

adb backup -f C:\[Backup-Ziel]\[Backup-Name].ab [Paket-Bezeichnung]

wenn Sie die apk-Datei nicht sichern wol­len.

com.akproduction.notepad taucht für AK Notepad in der Paketlist auf
Paket­na­men auf­lis­ten (com.akproduction.notepad steht für AK Note­pad)

Daten mit ADB wiederherstellen (unverschlüsseltes Gerät)

Ver­bin­den Sie Ihr neu­es Android-Gerät per USB mit dem PC und akti­vie­ren Sie auch hier die Ent­wick­ler­op­tio­nen und das USB-Debug­ging.
Theo­re­tisch wür­de jetzt

adb restore C:\[Backup-Ziel]\AK_Notepad.ab

aus­rei­chen, um das Back­up wie­der­her­zu­stel­len. Das funk­tio­niert jedoch in der Regel aus zwei Grün­den nicht. Vie­le Android-Gerä­te instal­lie­ren beim Res­to­re das ent­hal­te­ne apk-Paket nicht und die Wie­der­her­stel­lung schlägt ohne Feh­ler­mel­dung fehl. Im spe­zi­el­len Fall AK Note­pad funk­tio­niert die Wie­der­her­stel­lung auch nicht, wenn die App instal­liert ist. War­um das so ist, dar­über las­sen sich nur Ver­mu­tun­gen anstel­len. Wahr­schein­lich passt die ein­deu­ti­ge App-ID nicht zur Daten­bank, AK Note­pad igno­riert die Datei­en aus dem Back­up und erstellt eine neue Daten­bank für die Noti­zen.

Bei­de Pro­ble­me las­sen sich jedoch umge­hen.

Schritt 1: Zuerst müs­sen wir das Back­up ent­pa­cken (vier Zei­len):

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 ent­pack­ten Datei­en lie­gen jetzt unter­halb des Ord­ners „apps“, die apk-Datei für die Instal­la­ti­on ist bei unse­rem Bei­spiel unter „[Backup-Ziel]\apps\com.akproduction.notepad\a\base.apka\base.apk“ zu fin­den.

Schritt 2: Für die Instal­la­ti­on auf dem neu­en Gerät ver­wen­den Sie

adb install [Backup-Ziel]\apps\com.akproduction.notepad\a\base.apk

Schritt 3: Löschen Sie im Ord­ner „[Backup-Ziel]\apps\com.akproduction.notepad\“ alle Ord­ner außer „db“ und belas­sen Sie die Datei „_manifest“ im Haupt­ver­zeich­nis. Erstel­len Sie eine Text­da­tei mit dem Namen „AK_Notepad.list“ und die­sen zwei Zei­len als Inhalt:

apps/com.akproduction.notepad/_manifest

apps/com.akproduction.notepad/db/aknotepad.db

Schritt 4: Star­ten Sie die­se vier Befehls­zei­len:

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 stel­len Sie das Back­up mit

adb restore [Backup-Ziel]\AK_Notepad_new.ab

wie­der her.

Daten wiederherstellen (verschlüsseltes Gerät)

Bei ver­schlüs­sel­ten Gerä­te muss auch das Back­up ver­schlüs­selt sein. Zur Ent­schlüs­se­lung benö­ti­gen Sie wei­te­re Tools: Den android-back­up-extra­c­tor. Laden Sie die Datei „android-backup-extractor-20180521-bin.zip“ her­un­ter und ent­pa­cken Sie die Datei­en in Ihren Tools-Ord­ner („C:\Tools\Android“). Für das Java-Tool ist eine Java-Instal­la­ti­on erfor­der­lich, die Sie – wenn noch nicht vor­han­den – über https://www.java.com/ her­un­ter­la­den. Ver­wen­den Sie immer die neu­es­te Ver­si­on, denn nur hier sind die für die Ent­schlüs­se­lung erfor­der­li­chen Biblio­the­ken vor­han­den (sie­he auch Readme.txt in android-back­up-extra­c­tor).

Erstel­len Sie auf dem alten Gerät ein Back­up wie oben beschrie­ben. Tip­pen Sie dabei ein Pass­wort ein. Ver­wen­den Sie dann die­se Befehls­zei­le:

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 Platz­hal­ter „[pass­word]“ nicht mit einem Pass­wort fül­len und die ab-Datei ver­schlüs­selt ist, fragt das Tool nach einem Pass­wort.

Ent­pa­cken Sie die tar-Datei mit

tar xvf AK_Notepad.tar

Danach instal­lie­ren Sie die apk-Datei und löschen die über­flüs­si­gen Datei­en wie im vor­he­ri­gen Abschnitt beschrie­ben. Aus der Datei „AK_new.tar“ erstel­len Sie eine neue, ver­schlüs­sel­te Res­to­re-Datei:

java -jar C:\Tools\Android\abe.jar pack AK_new.tar AK_Notepad_new.ab [password]

Zur Instal­la­ti­on füh­ren Sie

adb restore [Backup-Ziel]\AK_Notepad_new.ab

aus. Auf dem Gerät geben Sie das Pass­wort für die Ent­schlüs­se­lung ein.

Backup-Daten extrahieren

Mit den beschrie­be­nen Metho­den lässt sich AK Note­pad auch auf dem neu­en Gerät wei­ter nut­zen. Ob man ein Tool, für das es kei­ne Updates mehr gibt, tat­säch­lich wei­ter ver­wen­den soll­te, ist eine ande­re Fra­ge.

Vie­le Android-Apps ver­wen­den eine Sqli­te-Daten­bank (https://www.sqlite.org) als Daten­spei­cher, deren Inhalt sich aus­le­sen lässt. Das dafür nöti­ge Tool sqlite3.exe ist in den Plat­form-Tools ent­hal­ten (https://developer.android.com/studio/releases/platform-tools), befin­det sich also bereits im Ord­ner „C:\Tools\Android“. Für den Export dr AK-Note­pad-Noti­zen ver­wen­den Sie die­se Befehls­zei­len:

cd [Backup-Ziel]\apps\com.akproduction.notepad\db

sqlite3 aknotepad.db .dump > aknotepad.sql

Wenn Sie das CSV-For­mat bevor­zu­gen, geht das so:

cd [Backup-Ziel]\apps\com.akproduction.notepad\db

sqlite3 -header -csv aknotepad.db "select * from notes" > aknotepad.csv

Die Daten las­sen sich damit ret­ten und in einem Text­edi­tor anse­hen. Sie kön­nen dann zumin­dest die wich­tigs­ten Noti­zen kopie­ren und in ein ande­res Noti­zen-Pro­gramm ein­fü­gen.


Schlagwörter:


Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.

Neueste Kommentare

  1. "com.sun.star.ucb.InteractiveAugmentedIOException": Einen derartigen Fehler hatte ich bisher nicht. Möglich, aber eher unwahrscheinlich ist, dass es an Windows 7 liegt. Das…


Die Website durchsuchen