Quantcast
Channel: ULC – Seite 22 – mynethome.de
Viewing all articles
Browse latest Browse all 66

Android: Backup and Restore K9 Preferences

$
0
0

Möchte man von Zeit zu Zeit eine neue Firmware auf seinem Android-Gerät ausprobieren, steht man u.U. vor dem Problem, dass dabei auch die  Benutzerdaten und Konfigurationen verloren gehen. Für die meisten Zwecke gibt es zwar gute Backuptools, benutzt man jedoch das Mailprogramm K9-Mail, steht man vor einem kleinen Rätsel. Zumindest habe ich keine gute Lösung gefunden, die dortigen Einstellungen zu sichern und wiederherzustellen.

Drum habe ich mich eben hingesetzt und eine Lösung ausgetestet, die eigentlich recht nahe liegend ist, jedoch u.U. root-Rechte auf dem Telefon braucht und ein wenig Vertrautheit mit der Kommandozeile voraussetzt.

Die Idee ist, die Konfigurationsdaten einfach vom Telefon herunter zu kopieren und später wieder einzuspielen (wie das eben bei einem Backup/Recovery so läuft ;-) ).

Ich habe das ganz zunächst probiert, indem ich meine K-9 Einstellungen vom Telefon in einen Emulator überspielt habe, und später dann nach  erfolgreicher Installation der neuen Firmware (andere findet man zum Beispiel in der AndroidSPIN ROM Database) auch erfolgreich angewendet.

Die nötigen Kommandos, nachdem man das Android SDK erfolgreich eingerichtet hat und der  Zugriff mit adb auf das Telefon funktioniert, sind:

mkdir com.fsck.k9
cd com.fsck.k9
adb pull /data/data/com.fsck.k9 ./

Nach Neuinstallation folgt zunächst die
Installation von K9. Dann mit adb und dem Kommando

adb shell 'ls -l /data/data/com.fsck.k9'

Nachschauen, unter welchem Benutzer K9 nun arbeitet, die Ausgabe bei mir ist zum Beispiel

drwxrwxr-x app_53   app_53            2009-08-19 16:03 shared_prefs
drwxrwxr-x app_53   app_53            2009-08-19 16:03 app_KeyStore
drwxrwx--x app_53   app_53            2009-08-19 16:02 databases
drwxrwx--x app_53   app_53            2009-08-19 16:02 cache
drwxr-xr-x app_53   app_53            2009-08-19 16:02 lib

gewesen, woraus ersichtlich wird, dass der neue Benuter app_53 ist.

Seine Daten spielt man dann zurück mit

adb push com.fsck.k9 /data/data/com.fsck.k9

Zum Schluss werden dann die Benutzerrechte wieder korrekt setzen, dazu braucht man die UID des neu installierten K9, wie oben beschrieben in nserem Fall app_53 und muss das Datenverzeichnis mit einem chown entsprechend dem jeweiligen Benutzer wieder zuordnen:

chown app_53.app_53 /data/data/com.fsck.k9/*
chown app_53.app_53 /data/data/com.fsck.k9/shared_prefs
chown app_53.app_53 /data/data/com.fsck.k9/app_KeyStore
chown app_53.app_53 /data/data/com.fsck.k9/databases
chown app_53.app_53 /data/data/com.fsck.k9/cache
chown app_53.app_53 /data/data/com.fsck.k9/lib

Anzumerken ist noch, dass ich mir nicht die Mühe gemacht habe, zu schauen, welche Daten denn nun wirklich notwendig sind – offensichtlich ist zum Beispiel dass man sich das Überspielen des Cache-Verzeichnisses sparen könnte, evtl ist sogar nur die Datei databases/preferences_storage notwendig. Vielleicht hab ich beim nächsten Firmwarewechsel Zeit und Lust, das zu testen ;-)
Interessieren würde mich allerdings, wie sich dieser ansatz auf einem nicht mit root-Privilegien ausgestatteten Gerät verhalten würde. Mal sehen, vielleicht komme ich in absehbarer Zeit ja dazu, das zu testen….und vielleicht helfen diese Aufzeichnungen trotzdem ja jemanden :)


Viewing all articles
Browse latest Browse all 66