WhatsApp wiederherstellen

Ich habe mein Telefon formatiert, aber zuvor ein Nandroid-Backup erstellt.

Ich habe dann WhatsApp erneut installiert und erwartet, dass es die Chats aus der Cloud herunterlädt. Das tat es nicht. Ich habe dann Whatsapp und die neu generierte /data/data/com.whatsapp gelöscht, aus dem Nandroid Backup extrahiert und auf mein Handy geladen und Whatsapp neu installiert. Allerdings stürzt es sofort ab. Es startet und schließt einfach wieder.

Wenn ich den neu generierten com.whatsapp-Ordner ohne meine Nachrichten zurückkopiere, startet er, aber meine Chats sind weg. Wenn ich den Ordner aus dem Backup kopiere, bootet er nicht einmal.

Wie bekomme ich meine Chats zurück? Kann ich den Arbeitsordner nur mit der msgstore.db der alten "mischen"? ich will nicht noch mehr vermasseln...

Ich habe das Telefon erneut geflasht, dieses Mal zuerst meinen alten Ordner zurückkopiert und dann genau dieselbe Version von Whatsapp installiert, es bootet immer noch nicht. Logcat scheint auf Berechtigungsprobleme hinzuweisen? pastebin.com/qtVmN8hr Warum? Kann ich das irgendwie beheben? Ich habe nach dem Re-Flash noch keinen neuen com.whatsapp-Ordner erstellt. - Whatsapp scheint von /data/user/0/com.whatsapp anstatt von /data/data/com.whatsapp lesen zu wollen.
Als Randnotiz ist /data/user/0 ein symbolischer Link zu /data/data .

Antworten (1)

Um die Funktionalität von WhatsApp wiederherzustellen, müssen Sie es deinstallieren und erneut installieren. Öffnen Sie dann ein Terminal und geben Sie es aus

su
ls -l /data/data/com.whatsapp

, notieren Sie den Inhalt der dritten und vierten Spalte. Die dritte identifiziert den Dateieigentümer , während die vierte die Gruppe ist .

Stellen Sie danach Ihr Backup wieder her und geben Sie es in einem Terminal aus

su
chown -R <owner>.<group> /data/data/com.whatsapp

, ersetzen Sie <owner>und <group>durch die Daten, die Sie zuvor notiert haben. Dieses Verfahren legt den richtigen Besitz für WhatsApp-Daten fest, sodass Sie Ihr Backup effektiv wiederherstellen können.


Grund für den Ausfall

Endlich konnte ich das Problem reproduzieren.

Auf Ihrem Telefon ist SELinux installiert und auf den Erzwingungsmodus eingestellt . Jetzt ist SELinux in der Lage, sogar den Root-Benutzer einzuschränken, und zwar durch Erzwingen bestimmter sogenannter Kontexte . Der geeignete Kontext für App-Daten ist u:object_r:app_data_file:s0 , während der Kontext der Sicherung u:object_r:system_data_file:s0 war . Dies ist in Zeile 13 Ihres Protokolls zu sehen , das lautet

02-22 11:38:10.673  7269  7269 W SharedPreferenc: type=1400 audit(0.0:909): avc: denied { read } for name="com.whatsapp_preferences.xml" dev=mmcblk0p12 ino=73372 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:system_data_file:s0 tclass=file permissive=0

( tcontextist der Kontext der Datei).

Grundsätzlich hat SELinux WhatsApp das Recht verweigert, Änderungen unter /data/data/com.whatsapp trotz Besitz und Berechtigungen zu betreiben, da die App nichts bearbeiten darf, was zum oben genannten tcontext gehört.