2 votes

Restaurer Whatsapp

J'ai formaté mon téléphone, mais j'ai fait une sauvegarde Nandroid avant.

J'ai ensuite réinstallé Whatsapp, en m'attendant à ce qu'il télécharge les chats depuis le cloud. Il ne l'a pas fait. J'ai alors supprimé Whatsapp et le fichier /data/data/com.whatsapp nouvellement généré, je l'ai extrait de la sauvegarde Nandroid et l'ai placé sur mon téléphone, puis j'ai réinstallé Whatsapp. Cependant, il se plante immédiatement. Il démarre et se ferme à nouveau.

Si je recopie le dossier com.whatsapp nouvellement généré sans mes messages, il démarre mais mes chats ont disparu. Si je copie le dossier à partir de la sauvegarde, il ne démarre même pas.

Comment puis-je récupérer mes chats ? Puis-je "mélanger" le dossier de travail avec seulement le msgstore.db de l'ancien ? Je ne veux pas faire de dégâts supplémentaires...

0 votes

J'ai re-flashé le téléphone à nouveau, cette fois en copiant d'abord mon ancien dossier, puis en installant exactement la même version de Whatsapp, mais il ne démarre toujours pas. Logcat semble indiquer des problèmes de permission ? pastebin.com/qtVmN8hr Pourquoi ? Puis-je y remédier d'une manière ou d'une autre ? Je n'ai pas encore créé de nouveau dossier com.whatsapp après le re-flash. - Whatsapp semble vouloir lire à partir de /data/user/0/com.whatsapp au lieu de /data/data/com.whatsapp .

1 votes

En passant, /data/user/0 est un lien symbolique vers /données/données .

2voto

Grimoire Points 2908

Pour rétablir la fonctionnalité de WhatsApp, vous devez le désinstaller et le réinstaller à nouveau. Ensuite, ouvrez un terminal et tapez

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

en notant le contenu des troisième et quatrième colonnes. La troisième identifie le dossier propriétaire tandis que le quatrième est le groupe .

Après cela, restaurez votre sauvegarde et, dans un terminal, tapez

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

en remplaçant <owner> y <group> avec les données que vous avez notées précédemment. Cette procédure définit la propriété correcte des données WhatsApp, ce qui vous permet de restaurer efficacement votre sauvegarde.


Raison de l'échec

J'ai finalement réussi à reproduire le problème.

Votre téléphone est équipé de SELinux, et réglé en Application de la loi mode. Aujourd'hui, SELinux est capable de limiter même l'utilisateur Root, et il le fait en appliquant certaines règles dites de "sécurité". contextes . Le contexte approprié pour les données de l'application est u:object_r:app_data_file:s0 alors que le contexte de la sauvegarde était u:object_r:system_data_file:s0 . Cela peut être vu à la ligne 13 de votre journal qui se lit comme suit

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 est le contexte du fichier).

Fondamentalement, SELinux a refusé à WhatsApp le droit d'opérer des changements sous /data/data/com.whatsapp malgré la propriété et les permissions, car l'application n'est pas autorisée à modifier quoi que ce soit appartenant au tcontext mentionné ci-dessus.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X