Android: Kontakte aus einem Nandroid-Backup extrahieren

Android logo
Bild von Google steht unter CC-BY-SA

Bevor man irgend eine neue ROM auf einem Android-Handy installiert macht man natürlich ein Backup vom alten System. Das kann man über adb oder natürlich über das Recoverysystem, das man ja eh für das Flashen braucht.

ClockworkMod Recovery erstellt dabei ein Nandroid-Image. Dieses ist eine Sicherung des kompletten Systems mit allen System- und Appdaten. Nun habe ich auf einem Galaxy S2 Cyanogenmod installiert und viele Daten waren nicht drauf, aber anscheinend waren die Kontakte nicht synchronisiert.

Nun wollte ich an die Daten aus dem Backup kommen, ohne gleich alles wieder rückgängig zu machen. Der erste Versuch dies über die App Nandroid Manager zu erledigen scheiterte. Kontakte kann man zwar anschauen, aber noch nicht wieder zurück ins System holen.

Also erstmal die Daten per USB auf den Rechner holen. In dem von CWM erstellten Ordner liegen die Dateien:

  • data.ext4.tar
  • data.ext4.tar.a
  • data.ext4.tar.b

data.ext4.tar.a habe ich in data.ext4.tar umbenannt und konnte diese dann mit dem Archivmanager öffnen.  Nun muss man die Datei /data/data/com.android.providers.contacts/databases/contacts2.db entpacken. Dahinter verbirgt sich eine Sqlite-Datenbank mit allen Kontakten. Um diese wieder in Android zu importieren muss man eine VCF Datei erstellen.

Das kann mit dem Script dumb-contacts2db tun.  Nach dem Download muss man es nur noch mit  chmod +x dump-contacts2db.sh  ausführbar machen und kann dann alle Daten einfach durch Aufruf des Skriptes extrahieren. Dazu reicht es dieses folgendermaßen auszuführen:

Kopiert man diese zurück auf das Mobiltelefon kann die Kontakte-App diese Datei dann wieder importieren und man hat alle alten Kontakte wieder.