1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

Sichern/Wiederherstellen der App-Einstellungen beim Wechseln eines ROMs (veraltet)

Dieses Thema im Forum "Root / Hacking / Modding für HTC Magic" wurde erstellt von Nepomuk, 06.05.2010.

  1. Nepomuk, 06.05.2010 #1
    Nepomuk

    Nepomuk Threadstarter Android-Lexikon

    Beiträge:
    1,017
    Erhaltene Danke:
    137
    Registriert seit:
    24.06.2009
    Phone:
    HTC One Mini
    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
    • alle installierten Apps
    • die Browser-Lesezeichen und den SMS-/MMS-Speicher
    • die Einstellungen eurer installierten Apps
    sichern und nach dem Wipe wiederherstellen könnt.

    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
    1. Systemübersicht in der Systemsteuerung aufrufen (alternativ Windowstaste+Pausetaste drücken)
    2. „Erweiterte Systemeinstellungen“ | Register „Erweitert“ | Button „Umgebungsvariablen“ (Screenshot 01)
    3. In der unteren Liste („Systemvariablen“) die Variable „Path“ suchen und „Bearbeiten…“
    4. 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)
    5. Alle Dialoge mit OK schließen
    Nun kann der adb-Befehl „von überall“ auf der Eingabeaufforderung genutzt werden.


    #1 Vor dem Wipe: Alle .apk-Dateien und App-Einstellungen sichern
    1. Ordner auf der Festplatte anlegen, in dem die Sicherung abgelegt wird (z.B. D:\Android-Backup)
    2. In diesem Ordner zwei weitere Unterordner anlegen
      D:\Android-Backup\apps
      D:\Android-Backup\data
    3. Telefon per USB anschließen, Windows-Eingabeaufforderung starten und dort in das Verzeichnis D:\Android-Backup wechseln
    4. Code:
      adb pull /data/app apps
      eingeben und mit Enter bestätigen
      Jetzt werden alle .apk Dateien im Unterordner apps gesichert
    5. Code:
      adb pull /data/data data
      eingeben und mit Enter bestätigen
      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.
    1. Telefon per USB anschließen
    2. 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)
    3. apk_install_batch.cmd ausführen (doppelt anklicken oder via cmd.exe aufrufen)
    Diese Batch-Datei macht nun nichts anderes, als nacheinander alle .apk-Dateien, die in dem Ordner liegen, via „adb install“-Befehl auf dem Telefon zu installieren.
    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
      in den Backup-Order (D:\Android-Backup). Danach könnt ihr auch die beiden Ordner (com.android.providers.telephony und com.android.browser) löschen.​
    • 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
    Am Ende habt ihr in eurem data-Ordner noch die Unterordner, die wiederhergestellt werden sollen (siehe auch Screenshot 03).

    1. Telefon per USB anschließen, Windows-Eingabeaufforderung starten und dort in das Verzeichnis D:\Android-Backup wechseln
    2. Code:
      adb push data /data/data
      eingeben und mit Enter bestätigen
      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
    1. Telefon per USB anschließen, Windows-Eingabeaufforderung starten und dort in das Verzeichnis D:\Android-Backup wechseln
    2. Code:
      adb push mmssms.db /data/data/com.android.providers.telephony/databases/mmssms.db
      eingeben und mit Enter bestätigen
    3. Code:
      adb push browser.db /data/data/com.android.browser/databases/browser.db
      eingeben und mit Enter bestätigen

    #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.
    1. Telefon per USB anschließen, Windows-Eingabeaufforderung starten
    2. Code:
      adb shell fix_permissions
      eingeben und mit Enter bestätigen
    Das Skript untersucht nun alle installierten Apps und wird die Zugriffsrechte korrigieren, v.a. bei den Apps, deren Einstellungen wir wiederhergestellt haben. Wenn das Skript fertig ist (kann wieder ein Weilchen dauern) könnt ihr das Gerät vom Kabel nehmen und neu starten.

    Fertig!

    Nach dem Neustart sollten nun
    • alle Apps funktionsfähig sein
    • bei den ausgewählten Apps die Einstellungen wiederhergestellt sein
    Wenn ihr jetzt die Market-App startet, solltet ihr alle eure Apps immer noch aufgelistet und als „Installiert“ markiert sehen und werdet so auch weiter mit Updates versorgt.



    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:
      1. Telefon per USB anschließen, Windows-Eingabeaufforderung starten
      2. Code:
        adb shell
        eingeben und mit Enter bestätigen
      3. in der shell (Zeile beginnt mit #)
        Code:
        cd /data/data
        eingeben und mit Enter bestätigen
      4. Code:
        rm -rf ordnername
        eingeben und mit Enter bestätigen
        (als ordnername muss hier wieder der Package-Name angegeben werden, also z.B. rm -rf de.stohelit.folderplayer)
      5. Code:
        exit
        eingeben und mit Enter bestätigen
      6. Telefon vom Kabel trennen

        Wenn ihr die App nun startet, sollten keine FCs mehr auftreten


    So, das war's. Viel Spaß beim Basteln!
     

    Anhänge:

    Gamesensei, bacwolf, arez und 9 andere haben sich bedankt.
  2. tweek, 26.05.2010 #2
    tweek

    tweek Erfahrener Benutzer

    Beiträge:
    163
    Erhaltene Danke:
    4
    Registriert seit:
    22.11.2009
    Habe ein Problem beim Sichern der Apps und der App-Einstellungen. Das Pullen funktioniert wunderbar, aber die Ordner, in denen die Sicherungen gespeichert werden sollen, bleiben leer.

    EDIT

    Hat sich erledigt, Windoof hats einfach in einem anderen Verzeichnis gespeichert.^^
     
    Zuletzt bearbeitet: 26.05.2010
  3. zFr3eak, 17.06.2010 #3
    zFr3eak

    zFr3eak Android-Lexikon

    Beiträge:
    1,780
    Erhaltene Danke:
    285
    Registriert seit:
    10.02.2010
    echt geile anleitung danke :D
     
  4. zFr3eak, 17.06.2010 #4
    zFr3eak

    zFr3eak Android-Lexikon

    Beiträge:
    1,780
    Erhaltene Danke:
    285
    Registriert seit:
    10.02.2010
    hi,
    was ist wenn man app2d hat? dann ist das ja alles anders oder? der cod halt, weil ja da die apps wo anders sind? kann das sein?

    MFG
     
  5. Buchinho, 18.06.2010 #5
    Buchinho

    Buchinho Android-Hilfe.de Mitglied

    Beiträge:
    78
    Erhaltene Danke:
    3
    Registriert seit:
    06.03.2010
    Phone:
    Nexus 4
    Danke für die gute Anleitung!
     
  6. ToastMX, 13.07.2010 #6
    ToastMX

    ToastMX Junior Mitglied

    Beiträge:
    25
    Erhaltene Danke:
    0
    Registriert seit:
    09.06.2009
    Das funktioniert nur bei einem schon mit CM Rom bespieltem Magic oder ?

    Ich habe zur Zeit die Standard Rom von Vodafone ohne Root, ohne nichts. Gibt es da auch Möglichkeiten seine Apps mit zu CM zu nehmen ?

    Ist sicher eine Newbie Frage, ich hoffe aber ich bekomme trotzdem eine Antwort. :)
    LG
     
  7. Nepomuk, 13.07.2010 #7
    Nepomuk

    Nepomuk Threadstarter Android-Lexikon

    Beiträge:
    1,017
    Erhaltene Danke:
    137
    Registriert seit:
    24.06.2009
    Phone:
    HTC One Mini
    Ich weiß nicht genau, welche Rechte man als Nicht-root hat.
    Denke aber, dass du zumindest root-Rechte brauchst (um via shell auf die Daten zugreifen zu können).

    Diesbezüglich könntest du mjrgens' ROM über deine Standard-VF-ROM flashen, dann hast du root und kannst die beschriebenen Schritte ausführen. Mit dem CM ROM, das du dann flashst, hast du ja das fix_permissions Skript, dass eventuelle Rechte-Probleme der Apps nach dem Zurückspielen ausbügeln sollte.
     
  8. dirk.ms, 26.07.2010 #8
    dirk.ms

    dirk.ms Erfahrener Benutzer

    Beiträge:
    178
    Erhaltene Danke:
    44
    Registriert seit:
    25.04.2010
    Phone:
    Galaxy S5
    Tablet:
    Lenovo A10-70F
    Wearable:
    Pebble Steel
    das mit den Apps sichern und zurückspielen hat funktioniert. Nur tauchen die Apps nicht im Market unter den downloads auf ?. Gibt es da ne lösung für
     
  9. Nepomuk, 26.07.2010 #9
    Nepomuk

    Nepomuk Threadstarter Android-Lexikon

    Beiträge:
    1,017
    Erhaltene Danke:
    137
    Registriert seit:
    24.06.2009
    Phone:
    HTC One Mini
    Nicht, dass ich wüsste. Meistens hat er bei mir die Apps dann alle im Market gehabt. Manchmal waren ein, zwei Neustarts und ein wenig Geduld nötig.

    Sollte sich an der Situation nichts ändern, bleibt noch die App aTrackDog. Mit der kann man manuell alle Apps auf Updates überwachen. Sobald eine App dann ein Update rausbringt, installiert man das eh wieder über den Market und dann wird die App auch wieder im Market gelistet.
     
    dirk.ms bedankt sich.
  10. dirk.ms, 26.07.2010 #10
    dirk.ms

    dirk.ms Erfahrener Benutzer

    Beiträge:
    178
    Erhaltene Danke:
    44
    Registriert seit:
    25.04.2010
    Phone:
    Galaxy S5
    Tablet:
    Lenovo A10-70F
    Wearable:
    Pebble Steel
    nach und nach sind die ganzen Apps nun unter den Downloads aufgetaucht...
    Habe aber auch mal die aTrackDog installiert und drüberlaufen lassen... hat evtl auch noch was gebracht
     
  11. tweek, 02.11.2010 #11
    tweek

    tweek Erfahrener Benutzer

    Beiträge:
    163
    Erhaltene Danke:
    4
    Registriert seit:
    22.11.2009
    Nach dem Wiederherstellen der Anwendungsdaten kann ich Opera Mini nicht mehr installieren. Liegt wohl an den Anwendungsdaten - wie kann ich diese löschen?
     
  12. Nepomuk, 02.11.2010 #12
    Nepomuk

    Nepomuk Threadstarter Android-Lexikon

    Beiträge:
    1,017
    Erhaltene Danke:
    137
    Registriert seit:
    24.06.2009
    Phone:
    HTC One Mini
    Via adb shell oder im Terminal Emulator auf dem Gerät ausführen:
    Code:
    su
    rm -rf /data/data/com.opera.mini.android
     
    tweek bedankt sich.
  13. tweek, 02.11.2010 #13
    tweek

    tweek Erfahrener Benutzer

    Beiträge:
    163
    Erhaltene Danke:
    4
    Registriert seit:
    22.11.2009
    Also über die Eingabeaufforderung adb shell eingeben und dann deinen Code einfügen, richtig?

    EDIT

    Opera funktioniert wieder :)
     
    Zuletzt bearbeitet: 02.11.2010
  14. SmirnOFF, 05.11.2010 #14
    SmirnOFF

    SmirnOFF Neuer Benutzer

    Beiträge:
    4
    Erhaltene Danke:
    0
    Registriert seit:
    24.05.2010
    Hallo bei mir klappt das wiederherstellen der Anwendungsdaten nicht.
    Also der data ordner wird nichts aufs Handy kopiert.

    Es kommt dieser fehler:

    1.) Fehler: failed to copy
    2.) Fehler: No such file or directory

    PS: die neue ROM ist jetzt
    Official AOSP 2.2 OTA
    kann es an der Rom liegen?

    ich wäre dankbar für schnelle hilfe.
     
  15. Nepomuk, 05.11.2010 #15
    Nepomuk

    Nepomuk Threadstarter Android-Lexikon

    Beiträge:
    1,017
    Erhaltene Danke:
    137
    Registriert seit:
    24.06.2009
    Phone:
    HTC One Mini
    Du könntest genau diese Datei vorher aus deinem Backup-Ordner löschen.
    Das hätte dann allerdings zur Folge, dass genau diese Anwendungsdaten nicht wiederhergestellt werden.
     
  16. SmirnOFF, 05.11.2010 #16
    SmirnOFF

    SmirnOFF Neuer Benutzer

    Beiträge:
    4
    Erhaltene Danke:
    0
    Registriert seit:
    24.05.2010
    Dieser fehler kommt bei jeder datei, beispiel mit DialerOne:

    Gibt es eine andere methode, möglichkeit, die Anwendungsdaten-Dateien wieder in den internen Handyspeicher zu bekommen?
     
  17. Nepomuk, 05.11.2010 #17
    Nepomuk

    Nepomuk Threadstarter Android-Lexikon

    Beiträge:
    1,017
    Erhaltene Danke:
    137
    Registriert seit:
    24.06.2009
    Phone:
    HTC One Mini
    Ist denn die /data-Partition eingebunden bei dir?
    Starte mal die Shell und liste dir mal das /data Verzeichnis auf:
    Code:
    adb shell
     (und dann)
    # ls /data
    Wenn da nichts drin ist, also keine Unterverzeichnisse, dann ist /data nicht gemountet. Abhilfe schafft man mit
    Code:
    mount /data
    (wenn man schon auf der shell (adb shell) ist)
    Danach die shell verlassen mit
    Code:
    exit
    und dann das Rückspielen des Backups versuchen.
     

Diese Seite empfehlen