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...
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.
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
( tcontext
ist 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.
Florian Bach
Zauberbuch