Ich habe Android-Backups von meinem alten (jetzt toten) Kitkat-Telefon. Beim Versuch, die App-Daten von zwei verschiedenen Apps aus einem Backup wiederherzustellen, kann ich die App nicht mit der alten Datenbank ausführen. Ich kopiere die Dateien nach /data/data/TLD.SOMETHING.APPDIRECORY, aber wenn ich die App öffne, stürzt sie sofort ab.
Mindestens eine der Apps ist genau die gleiche Version wie zuvor, da sie seit Jahren nicht mehr aktualisiert wurde. Die Zugriffsrechte für die Dateien sind korrekt (Benutzer und Gruppe und -rw-------). Wenn ich auf Android 6 Appdaten generiere, indem ich die alten Daten umbenenne und die App starte, stürzt die App nicht ab und die neu generierten Dateien haben die gleichen Zugriffsrechte wie die, die ich wiederhergestellt habe.
Der einzige Grund, der mir einfällt, ist das Format der Datenbank. Ich denke, dass sich das DB-Format höchstwahrscheinlich zwischen Android 4 und 6 geändert hat und Apps nur eine Schnittstelle zum Betriebssystem verwenden, das den eigentlichen DB-Zugriff für die App übernimmt. "Das Betriebssystem" kann ein SQLite-Anbieter von Betriebssystempaketen oder etwas anderes sein. Ist meine Vermutung richtig? Was ist der Unterschied und wie kann ich konvertieren?
Danke!
GiantTree hat dieses Ding zum Laufen gebracht. Mit seinem Kommentar fand ich https://forum.xda-developers.com/showpost.php?s=08f8d78aabe88fb570ec1e59a37e71a8&p=67319237&postcount=3
Was den Trick tut. Sie müssen also Benutzer-, Gruppen-, Unix-Rechte und den SELinux-Sicherheitskontext korrigieren. Danke für diese schnelle Antwort!
GiantTree