2 votos

Restaurar Whatsapp

He formateado mi teléfono, pero antes hice un Nandroid Backup.

Entonces instalé de nuevo Whatsapp, esperando que descargara los chats de la nube. No lo hizo. Entonces borré Whatsapp y el nuevo /data/data/com.whatsapp generado, lo extraje del Nandroid Backup y lo puse en mi teléfono, y volví a instalar Whatsapp. Sin embargo, inmediatamente se bloquea. Se inicia y se vuelve a cerrar.

Si vuelvo a copiar la carpeta com.whatsapp recién generada sin mis mensajes, se inicia pero mis chats desaparecen. Si copio la carpeta de la copia de seguridad, ni siquiera arranca.

¿Cómo puedo recuperar mis chats? ¿Puedo "mezclar" la carpeta de trabajo con sólo el msgstore.db de la antigua? No quiero estropear más...

0 votos

Volví a flashear el teléfono de nuevo, esta vez primero copiando mi antigua carpeta de nuevo, luego instalando exactamente la misma versión de Whatsapp, sigue sin arrancar. Logcat parece indicar problemas de permisos? pastebin.com/qtVmN8hr ¿Por qué? ¿Puedo arreglar esto de alguna manera? Todavía no he creado una nueva carpeta com.whatsapp después del re-flash. - Parece que Whatsapp quiere leer desde /data/user/0/com.whatsapp en lugar de /data/data/com.whatsapp

1 votos

Como nota al margen, /datos/usuario/0 es un enlace simbólico a /datos/datos .

2voto

Para restablecer la funcionalidad de WhatsApp, tienes que desinstalarlo y volver a instalarlo. A continuación, abra un terminal y emita

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

Anotando el contenido de la tercera y cuarta columna. La tercera identifica el archivo propietario mientras que el cuarto es el grupo .

Después de eso, restaure su copia de seguridad y, en un terminal, emita

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

, sustituyendo a <owner> y <group> con los datos que anotaste previamente. Este procedimiento establece la propiedad correcta de los datos de WhatsApp, lo que le permite restaurar eficazmente su copia de seguridad.


Razón del fracaso

Finalmente pude reproducir el problema.

Su teléfono tiene SELinux instalado y configurado en Aplicación de modo. Ahora, SELinux es capaz de limitar incluso al usuario Root, y lo hace aplicando ciertas llamadas contextos . El contexto apropiado para los datos de la aplicación es u:objeto_r:archivo_de_datos_de_aplicación:s0 mientras que el contexto de la copia de seguridad era u:objeto_r:archivo_de_datos_del_sistema:s0 . Esto se puede ver en la línea 13 de su Registro que dice

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 es el contexto del archivo).

Básicamente, SELinux negó a WhatsApp el derecho a operar cualquier cambio bajo /datos/datos/com.whatsapp a pesar de la propiedad y los permisos, porque la aplicación no puede editar nada que pertenezca al mencionado tcontext.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X