CM12 + Titanio = ¿Cómo recuperar datos de contacto?

Acabo de instalar CM12en N5110 e hice Titaniumuna copia de seguridad de todas las aplicaciones antes. Ahora, cada vez que intento recuperar mis contactos, la aplicación de contacto de Android se detiene con el error " android.process.acore stopped...

¿Cómo obtener los contactos? porque no tomé una copia de seguridad basada en Google en mis contactos.

Gracias

¿Tiene la copia de seguridad de la aplicación Almacenamiento de contactos o Proveedor de contactos? Esa aplicación mantiene los contactos en la base de datos llamada contactos2.db. Siempre que la base de datos no esté dañada, debería funcionar borrar los datos de esa aplicación, restaurar los datos de Titanium y reiniciar. De lo contrario, extraiga la base de datos de la copia de seguridad, fuerce la detención de la aplicación, vaya al directorio de datos de la aplicación y reemplace la base de datos allí. Reinicie y vea qué sucede.
eso es lo que hice... restaurar desde titanio... pero es que ahora con CM12, tengo Contact 5.1, y el anterior era Contact 4.1.2. Así que ese es posiblemente un problema, supongo ...

Respuestas (1)

Así es como puedes (intentar) restaurar tus contactos manualmente. (NOTA: asumo un poco de conocimiento de Linux. He tratado de cubrir las cosas que son difíciles de buscar, pero poco más).

Primero, habilite el modo de depuración USB y conecte su teléfono a su computadora. Entonces,

  1. Busque la carpeta que contiene sus copias de seguridad. Por defecto, creo que esto es algo así como /sdcard/TitaniumBackup. Si usó una ubicación personalizada (por ejemplo, para almacenar copias de seguridad en una tarjeta SD externa), debería ser fácil de encontrar.
  2. Debería haber un tarball comprimido con gzip con un nombre similar a com.android.providers.contacts-<date>.tar.gz. Cópialo a tu computadora con adb pull.
  3. Descomprima el archivo que acaba de extraer. Ahora debería haber una carpeta llamada data. Desciende a data/data/com.android.providers.contacts/databases/. Allí encontrarás contacts2.dby profile.db. Utilícelo adb pushpara cargarlos en su teléfono. (Nota: probablemente tendrá que empujarlos a una ubicación que no requiera acceso de root).

(Para los siguientes pasos, es posible que desee reiniciar en modo de recuperación, para asegurarse de que su teléfono no esté usando su base de datos de contactos. Puede hacerlo fácilmente usando adb reboot recovery).

  1. Inicie un shell con adb nuevamente y escale a root usando su. cda /data/data/com.android.providers.contacts/databases/. Renombrar contacts2.dba contacts2.db.cmy profile.dba profile.db.cm.
  2. Copie los archivos que envió a /data/data/com.android.providers.contacts/databases/, para que reemplacen los que acaba de renombrar.
  3. Asegúrese de que sus nuevos archivos tengan los mismos permisos que los antiguos. Verifique los permisos de contacts2.db.cmy profile.db.cmcon ls -l, y cambie los permisos de sus archivos con chown. Verifique las etiquetas de SELinux con ls -Zy cámbielas si es necesario con chcon <full label> <file>.
  4. Reinicie y vea si funcionó.

Espero que este método te funcione. Debo admitir que cuando lo probé, CyanogenMod inmediatamente revirtió mis cambios (que contacts2.dbcoincidían con los originales contacts2.db.cm). Si este método no funciona y realmente desea utilizar CyanogenMod, aún puede recuperar los datos contacts2.dbe intentar agregar todos sus contactos a mano.

  1. instalar sqlite3_
  2. corre sqlite3 contacts2.db_
  3. Sus números de teléfono están en la tabla named phone_lookup, y los nombres para mostrar se pueden recuperar de la tabla named raw_contacts. Puede ver (al menos algunos de) sus contactos ejecutando

select raw_contacts.display_name, phone_lookup.normalized_number from raw_contacts inner join phone_lookup on raw_contacts._id = phone_lookup.raw_contact_id;