Nepomuk
Dauer-User
- 138
Wer auf den neuesten CyanogenMod (Android 2.1 für G1/Magic) wechseln möchte, dem wird ein Wipe empfohlen. Aber auch sonst kann ja manchmal ein Wipe erforderlich oder angebracht sein (z.B. beim Wechsel von CyanogenMod auf SuperD und zurück).
Ihr erfahrt hier, wie ihr
Vorwort: Ich habe auf diese Weise schon mehrmals erfolgreich die Einstellungen meiner Apps gesichert. Aber ich kann nicht garantieren, dass es in jedem Fall funktioniert. Selbstverständlich sollte vorher ein Nandroid Backup gemacht werden, um notfalls den vorherigen Zustand wieder herzustellen.
Ich bin nicht 100%ig im Bilde, ob es bereits andere zuverlässige Möglichkeiten gibt, um App-Einstellungen sichern und zurückspielen zu können. Dieses Tutorial basiert auf der händischen Sicherung und Wiederherstellung via adb und shell und greift dann auf das fix_permissions Skript aus dem CyanogenMod und darauf aufbauenden ROMs (z.B. SuperD) zurück.
Der Vollständigkeit halber: Dieses Tutorial zeigt das Vorgehen unter Windows 7 und mit einem Vodafone Magic. Auf anderen Systemen können Dialoge und Dateipfade abweichen.
Voraussetzungen:
#0 tools-Verzeichnis des SDK in die PATH-Variable eintragen
#1 Vor dem Wipe: Alle .apk-Dateien und App-Einstellungen sichern
#2 Telefon wipen, flashen, updaten (was immer ihr damit vor habt)
#3 Erster Start des Geräts nach dem Wipe (z.B. direkt nach dem Update) Installieren der Apps
Ich habe die Beobachtung gemacht, dass die Liste der installierten Apps in der Market-App eine Weile gespeichert bleibt und scheinbar nicht vor dem ersten Start der Market-App aktualisiert wird.
Also installieren wir jetzt wieder alle Apps bevor wir den Market das erste Mal starten.
Dieser Vorgang kann (je nach Anzahl der zu installierenden Apps) einige Zeit in Anspruch nehmen. Im Normalfall sollte die Installation jeder .apk-Datei mit Success abgeschlossen werden, Fehler bei der .apk-Installation werden mit Failure und einer näheren Beschreibung des Fehlers quittiert.
#4 Wiederherstellen der Anwendungseinstellungen
Dazu schauen wir uns unseren Ordner data an. Für jede Anwendung, die auf dem Gerät war, existiert jetzt ein Unterordner, der nach dem Package-Namen der Anwendung benannt ist (siehe Screenshot 03).
Ihr geht jetzt die Liste mit den Ordnern durch und
#5 Wiederherstellen von Browser-Lesezeichen und SMS-/MMS-Speicher
#6 Anpassen der Zugriffsrechte mit fix_permissions Skript
Nun wird auf das im ROM integrierte Skript fix_permissions zurückgegriffen und etwaige Unstimmigkeiten bei den Zugriffrechten behoben.
Fertig!
Nach dem Neustart sollten nun
Fehlerbehandlung:
Sollten einige Apps abstürzen (meistens gleich beim Start ein FC), könnt ihr folgende Dinge probieren:
So, das war's. Viel Spaß beim Basteln!
Ihr erfahrt hier, wie ihr
- alle installierten Apps
- die Browser-Lesezeichen und den SMS-/MMS-Speicher
- die Einstellungen eurer installierten Apps
Vorwort: Ich habe auf diese Weise schon mehrmals erfolgreich die Einstellungen meiner Apps gesichert. Aber ich kann nicht garantieren, dass es in jedem Fall funktioniert. Selbstverständlich sollte vorher ein Nandroid Backup gemacht werden, um notfalls den vorherigen Zustand wieder herzustellen.
Ich bin nicht 100%ig im Bilde, ob es bereits andere zuverlässige Möglichkeiten gibt, um App-Einstellungen sichern und zurückspielen zu können. Dieses Tutorial basiert auf der händischen Sicherung und Wiederherstellung via adb und shell und greift dann auf das fix_permissions Skript aus dem CyanogenMod und darauf aufbauenden ROMs (z.B. SuperD) zurück.
Der Vollständigkeit halber: Dieses Tutorial zeigt das Vorgehen unter Windows 7 und mit einem Vodafone Magic. Auf anderen Systemen können Dialoge und Dateipfade abweichen.
Voraussetzungen:
- Android SDK und USB-Treiber installiert
- tools-Verzeichnis des SDK ist in der PATH-Variable eingetragen (siehe Punkt #0)
- Kenntnisse im Umgang mit adb (Android Debug Bridge) und den verfügbaren Befehlen
- Kenntnisse im Umgang mit der Windows-Eingabeaufforderung (cmd.exe), z.B. Verzeichniswechsel mit cd,
- die Wiederherstellung der Einstellungen erfolgt auf einem ROM mit fix_permissions Skript und root-Zugriff (das ist bei allen CyanogenMod- oder Super-D-ROMs der Fall)
- USB-Debugging (in den Anwendungseinstellungen auf dem Telefon) ist aktiviert
######## Los geht's! ########
#0 tools-Verzeichnis des SDK in die PATH-Variable eintragen
- Systemübersicht in der Systemsteuerung aufrufen (alternativ Windowstaste+Pausetaste drücken)
- Erweiterte Systemeinstellungen | Register Erweitert | Button Umgebungsvariablen (Screenshot 01)
- In der unteren Liste (Systemvariablen) die Variable Path suchen und Bearbeiten
- Bei Wert der Variablen den absoluten Pfad zum tools-Verzeichnis des Android SDK ergänzen(!), d.h. durch Semikolon getrennt an den bestehenden Eintrag anhängen (Screenshot 02)
z.B. ;D:\Android\dev\android-sdk-windows\tools (ohne Anführungsstriche) - Alle Dialoge mit OK schließen
#1 Vor dem Wipe: Alle .apk-Dateien und App-Einstellungen sichern
- Ordner auf der Festplatte anlegen, in dem die Sicherung abgelegt wird (z.B. D:\Android-Backup)
- In diesem Ordner zwei weitere Unterordner anlegen
D:\Android-Backup\apps
D:\Android-Backup\data - Telefon per USB anschließen, Windows-Eingabeaufforderung starten und dort in das Verzeichnis D:\Android-Backup wechseln
-
Code:
adb pull /data/app apps
Jetzt werden alle .apk Dateien im Unterordner apps gesichert -
Code:
adb pull /data/data data
Jetzt werden die Einstellungen aller Apps im Unterordner data gesichert
#2 Telefon wipen, flashen, updaten (was immer ihr damit vor habt)
#3 Erster Start des Geräts nach dem Wipe (z.B. direkt nach dem Update) Installieren der Apps
Ich habe die Beobachtung gemacht, dass die Liste der installierten Apps in der Market-App eine Weile gespeichert bleibt und scheinbar nicht vor dem ersten Start der Market-App aktualisiert wird.
Also installieren wir jetzt wieder alle Apps bevor wir den Market das erste Mal starten.
- Telefon per USB anschließen
- Entpackt die apk_install_batch.cmd aus dem zip-File am Ende des Beitrags und kopiert sie in den Ordner, in dem nun alle .apk-Dateien liegen (D:\Android-Backup\apps)
- apk_install_batch.cmd ausführen (doppelt anklicken oder via cmd.exe aufrufen)
Dieser Vorgang kann (je nach Anzahl der zu installierenden Apps) einige Zeit in Anspruch nehmen. Im Normalfall sollte die Installation jeder .apk-Datei mit Success abgeschlossen werden, Fehler bei der .apk-Installation werden mit Failure und einer näheren Beschreibung des Fehlers quittiert.
#4 Wiederherstellen der Anwendungseinstellungen
Dazu schauen wir uns unseren Ordner data an. Für jede Anwendung, die auf dem Gerät war, existiert jetzt ein Unterordner, der nach dem Package-Namen der Anwendung benannt ist (siehe Screenshot 03).
Ihr geht jetzt die Liste mit den Ordnern durch und
- löscht die Ordner von den Apps, deren Einstellungen ihr nicht wiederherstellen wollt (ihr könnt diese Ordner auch erstmal in ein anderes Verzeichnis verschieben)
Anhand des Ordnernamens kann man meistens darauf schließen, zu welcher App das gehört.
Wenn ihr euch nicht sicher seid, könnt ihr auf cyrket.com danach suchen
(pname: vor den Packagenamen setzen, z.B. pname:de.stohelit.folderplayer als Suchbegriff) - löscht alle Ordner, die offensichtlich zu den Systemanwendungen gehören
(z.B. alles was mit com.android. beginnt, auch die meisten com.google.android.* Ordner sollten gelöscht werden)
Warum das? Da ihr in der Regel grad ein Betriebssystem-Update gemacht habt, solltet ihr nach Möglichkeit darauf verzichten, die Einstellungen der System-Apps wiederherzustellen. Denn gerade hier kann sich durch ein Update viel geändert haben und dann nicht mehr funktionieren.
Ausnahme: Wenn ihr die Browser-Lesezeichen und den SMS-/MMS-Speicher wiederherstellen wollt (siehe Punkt #5), dann kopiert euch die Dateien
- mmssms.db im Ordner com.android.providers.telephony\databases
- browser.db im Ordner com.android.browser\databases
- behaltet nur die Ordner, von denen ihr die App-Einstellungen wiederherstellen wollt
- beschränkt euch am besten auf die wichtigen Apps, bei denen es viele, aufwendige Einstellungen gibt, z.B. Mail- oder Banking-Programme
- Apps wie z.B. der Barcode-Scanner haben kaum Einstellungen, da braucht man auch nichts wiederherstellen
- Telefon per USB anschließen, Windows-Eingabeaufforderung starten und dort in das Verzeichnis D:\Android-Backup wechseln
-
Code:
adb push data /data/data
Jetzt werden alle Unterordner in unserem data-Verzeichnis zurück auf das Gerät geschrieben. Das kann eine ganze Weile dauern. Wenn nichts mehr über euren Bildschirm rattert und ihr die Eingabeaufforderung wieder vor euch habt, ist er fertig.
#5 Wiederherstellen von Browser-Lesezeichen und SMS-/MMS-Speicher
- Telefon per USB anschließen, Windows-Eingabeaufforderung starten und dort in das Verzeichnis D:\Android-Backup wechseln
-
Code:
adb push mmssms.db /data/data/com.android.providers.telephony/databases/mmssms.db
-
Code:
adb push browser.db /data/data/com.android.browser/databases/browser.db
#6 Anpassen der Zugriffsrechte mit fix_permissions Skript
Nun wird auf das im ROM integrierte Skript fix_permissions zurückgegriffen und etwaige Unstimmigkeiten bei den Zugriffrechten behoben.
- Telefon per USB anschließen, Windows-Eingabeaufforderung starten
-
Code:
adb shell fix_permissions
Fertig!
Nach dem Neustart sollten nun
- alle Apps funktionsfähig sein
- bei den ausgewählten Apps die Einstellungen wiederhergestellt sein
Fehlerbehandlung:
Sollten einige Apps abstürzen (meistens gleich beim Start ein FC), könnt ihr folgende Dinge probieren:
- das fix_permissions Skript nochmal neu ausführen
- den Einstellungsordner der betreffenden App löschen:
- Telefon per USB anschließen, Windows-Eingabeaufforderung starten
-
Code:
adb shell
- in der shell (Zeile beginnt mit #)
Code:
cd /data/data
-
Code:
rm -rf ordnername
(als ordnername muss hier wieder der Package-Name angegeben werden, also z.B. rm -rf de.stohelit.folderplayer) -
Code:
exit
- Telefon vom Kabel trennen
Wenn ihr die App nun startet, sollten keine FCs mehr auftreten
So, das war's. Viel Spaß beim Basteln!