Antecedentes: como parte de una actualización a A6/MM, terminé teniendo que borrar mi teléfono. Sin embargo, hice una copia de seguridad de /data/app y /data/data antes de borrar. Después de la actualización, volví a sincronizar /data/data con el teléfono. Luego procedí a reinstalar algunas aplicaciones de google play.
Esperaba que se usaran los datos de la aplicación en /data/data, pero la instalación de la aplicación falló primero, pero en el segundo intento la instalación funcionó (finalizó), PERO sobrescribió todas mis configuraciones (etc.) que había restaurado en /data/ datos. Mi pregunta es, ¿cómo evito esto? ¿Falló la primera instalación porque el instalador de la aplicación vio los datos antiguos?
La aplicación en cuestión era Zoiper Lite, pero no creo que la aplicación específica sea terriblemente significativa. ¿Hay algo acerca de la limpieza (restablecimiento de fábrica) que hace que el proceso de instalación de apk no espere datos y, por lo tanto, falle, pero luego borre los datos si insiste con un segundo intento? Por supuesto, lo que realmente quiero es una solución alternativa para poder instalar la aplicación Y conservar los datos antiguos. Tengo muchas aplicaciones para las que me gustaría hacer esto, por lo que definitivamente es un problema...
NO cree las carpetas antes de que lo haga la propia aplicación, ya que a menudo no podrá obtener los permisos, la propiedad y los contextos correctos. En su lugar, después de una nueva instalación, ejecute la aplicación una vez para que pueda crear la estructura del archivo y luego proceda a sobrescribir. También es muy recomendable encontrar qué archivo(s) exacto(s) almacena(n) las preferencias/datos que desea restaurar (por lo general, solo algunos archivos XML en la subcarpeta shared_prefs) y restaurarlos únicamente.
La solución final a tales problemas en el futuro sería usar aplicaciones como Titanium Backup para automatizar el proceso de copia de seguridad/restauración.
EDITAR: descargué Zoiper yo mismo y probé: modifiqué algunas preferencias, hice una copia de seguridad /data/data/com.zoiper.android.app/shared_prefs/com.zoiper.android.app_preferences.xml
, luego borré los datos y volví a ejecutar la aplicación para permitir que genere estructura. Restauré el archivo de preferencia después, y se restauraron después de que hice el primer truco. La cuestión es que no olvide forzar el cierre de la aplicación antes de intentar reemplazar cosas, o la aplicación en ejecución simplemente la ignorará.
rsync
; deberías hablar de eso con @DanHulme arriba. En cuanto a mí, sigo insistiendo en encontrar el archivo exacto para evitar problemas de permisos.
dan hulme