4 votos

¿Cómo restaurar manualmente el registro de llamadas desde una copia de seguridad adb en el OnePlus One? (SMS ya restaurados)

Corrí adb backup con todas las banderas de copia de seguridad en mi OnePlus One (que había actualizado gradualmente de 44S a 05Q). Luego lo borré, lo volví a imitar con una imagen fresca de 05Q, y traté de restaurar mis registros de SMS y llamadas.

He conseguido restaurar el historial de SMS copiando de nuevo el /data/data/com.android.providers.telephony/databases a mi nuevo teléfono y configurando los permisos adecuadamente. Pero por mi vida no puedo averiguar cómo restaurar mis registros de llamadas - no puedo averiguar qué carpeta para restaurar de y no puedo averiguar dónde restaurarlo a . Me parece que los dos podrían ser diferentes porque originalmente actualicé el teléfono desde una versión ligeramente más antigua de Cyanogenmod mientras que la copia fresca es completamente nueva, pero de cualquier manera no puedo averiguar cómo hacer esto. Tengo la sensación de que el registro de llamadas podría no haber sido respaldado, pero eso sería extraño porque el registro de SMS fue...

¿Alguna idea?

0 votos

/data/data/com.android.providers.contacts/databases/contacts‌​2.db (en la tabla calls ) Lo he confirmado en mi Oneplus One con CM12. Pero No creo que ADB haya podido respaldar esa ubicación . Por favor, confirme si ADB tomó una copia de seguridad ya que tendría que revisar mi respuesta vinculada. // Ah, y parece que tienes acceso a Root, así que ¿por qué no usaste alguna buena herramienta de respaldo como Titanium Backup, o algo así? Sólo preguntaba :)

0 votos

@Firelord: CM12 no ayuda aquí (ya tengo el 05Q fresco que es CM11, es bastante fácil para mí para comprobar que yo mismo). El problema es que los nombres de las carpetas parecen haber cambiado después de la actualización original a 05Q; de hecho, en mi copia de seguridad, la subcarpeta ni siquiera se llama databases/ sino que db/ . Por eso hago la pregunta aquí. En este caso particular, veo com.android.contacts -- que sí intenté restaurar (pero que no tiene subcarpeta de base de datos) -- pero no com.android.providers.contacts . Pero com.android.providers.telephony fue respaldado, y hizo parece restaurar los SMS.

0 votos

@Firelord: En cuanto a por qué no usé Titanium Backup: pues porque fui un estúpido y pensé que las herramientas de Google harían lo correcto. Nunca se me ocurrió que lo que quería era tan descabellado que ni siquiera las tropecientas banderas que pasé a adb sería insuficiente.

8voto

Firelord Puntos 161

Nota : OP ya sabe la respuesta, pero la siguiente información es para aquellas almas que puedan tener problemas con el mismo problema.


¡Decepción!

CM11 en OnePlus One (ya sea la actualización 44S o 05Q) no tiene ninguna disposición para obtener los contactos y registros de llamadas obtener una copia de seguridad y restaurar utilizando ADB.

Así que, lamentablemente, la respuesta es sencilla: tus contactos y registros de llamadas no fueron respaldados por ADB porque el/los desarrollador/es de CM11 no lo permitieron, y por lo tanto, debes buscar otras formas de restaurarlos ( pista : Sincronización de contactos de Google ).

También, si importa:

  • /data/data/com.android.providers.telephony/databases es donde se encuentra la base de datos de SMS/MMS
  • /data/data/com.android.providers.contacts/databases/ es donde verás los contactos y los registros de llamadas

Ahora puedes dejar de leer si estás saciado con la respuesta, y te recomiendo que te pongas manos a la obra en la búsqueda de algunos métodos de recuperación para recuperar el acceso a los contactos y registros de llamadas.

Sin embargo, algunas almas quieren una razón para un evento sea cual sea, así que aquí vamos con una de esas razones.


¿Por qué se hizo una copia de seguridad de los SMS/MMS y no de los contactos?

¿Por qué se hace una copia de seguridad del contenido privado, como los SMS/MMS, pero no de los contactos?

Hay que tener en cuenta que desde el lanzamiento de Jelly Bean este no ha sido un comportamiento común exhibido en Android Open Source Code (AOSP) y tampoco por la mayoría de las ROMs de stock para permitir el respaldo de dicho contenido privado por ADB, es decir, tanto Proveedor de telefonía (tiene una base de datos de SMS/MMS) y Contactos Proveedor (tiene Contactos y Registros de llamadas) suelen ser desarrollados para no participar en la infraestructura de backup y restauración del sistema Android. Sin embargo, CM11 tiene algunos cambios que permiten hacer una copia de seguridad de los SMS/MMS, pero dejan los contactos y los registros de llamadas en el suelo.

¿Cuáles son esos cambios?

Mi hallazgo es que en CM11, una bandera llamada android:allowBackup="false" fue finalmente retirado de Proveedor de telefonía pero permaneció intacta en Contactos Proveedor . Esta bandera se introduce siempre bajo la aplicación AndroidManifest.xml .

Google aquí tiene que decir esto con respecto a esa bandera:

android:allowBackup

Si se permite que la aplicación participe en la infraestructura de copia de seguridad y restauración. Si este atributo se establece como falso, nunca se realizará una copia de seguridad o restauración de la aplicación, incluso mediante una copia de seguridad de todo el sistema que, de otro modo, haría que todos los datos de la aplicación se guardaran a través de adb . El valor por defecto de este atributo es true.

(El énfasis es mío)

Sin embargo, por alguna razón, CM12 revirtió esta decisión y ahora, ambas aplicaciones no permiten el respaldo desde ADB en absoluto.

Si quieres ver la fuente de dichos paquetes, echa un vistazo a AndroidManifest.xml de Proveedores de telefonía para:

  • CM11 -- no hay tal bandera bajo <application ..
  • CM12 -- tiene esa bandera bajo <application ..

Pero para Contactos Proveedor ambos CM11 y CM12 tiene la bandera intacta.

Puede verificar esta información en el AndroidManifest.xml de los dos paquetes que tienes en tu CM11. Usted encontrará que la bandera está presente en una aplicación y no en el otro.

Nota que el comportamiento por defecto como se menciona en código fuente original de Android es no permitir la copia de seguridad en ambas aplicaciones para la versión de Kitkat.

En cuanto a la razón por la que los desarrolladores de CM11 hicieron esos cambios, aconsejaría preguntarles directamente.

Por ahora, ya está hecho.


Puede consultar mi respuesta similar mencionada aquí para la pregunta: ¿Hacer una copia de seguridad/restaurar SMS/MMS a través de ADB en un dispositivo no rooteado? .

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