0 votos

La instalación de la aplicación Android sobrescribe /data/data/com.my.app

Antecedentes: Como parte de una actualización a A6/MM, acabé teniendo que borrar mi teléfono. Sin embargo, hice una copia de seguridad de /data/app y /data/data antes de borrarlo. Después de la actualización rsync'ed /data/data de nuevo al teléfono. Luego procedí a volver a instalar algunas aplicaciones de Google Play.

Esperaba que se utilizaran los datos de la aplicación en /data/data, pero en lugar de eso 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/data. Mi pregunta es, ¿cómo puedo evitar 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 muy importante. ¿Hay algo acerca de la limpieza (restablecimiento de fábrica) que hace que el proceso de instalación apk a esperar sin datos y por lo tanto no, pero luego borrar los datos si usted insiste con un segundo intento? Por supuesto, lo que realmente quiero es una solución para que pueda instalar la aplicación y mantener los datos antiguos. Tengo un montón de aplicaciones para las que me gustaría hacer esto, así que es definitivamente un problema ...

1 votos

¿Por qué no instalar la aplicación y entonces rsync sus datos? Dicho esto, algunas aplicaciones generan datos específicos de la instalación (como los tokens de acceso a la API), por lo que no necesariamente se pueden reutilizar de una instalación a otra.

0voto

Andy Yan Puntos 501

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 dejar que se cree la estructura de archivos, a continuación, proceder a sobrescribir. También es muy recomendable encontrar qué archivo(s) almacena(n) exactamente las preferencias/datos que quieres restaurar - normalmente sólo algunos archivos XML en la subcarpeta shared_prefs - y restaurarlos sólo a ellos.

La solución definitiva a estos problemas en el futuro sería simplemente utilizar aplicaciones como Copia de seguridad Titanium para automatizar el proceso de copia de seguridad/restauración.

EDIT: Yo mismo he descargado Zoiper y he probado: he modificado algunas preferencias, he hecho una copia de seguridad de /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 que generara la estructura. Después restauré el archivo pref, y sí se restauraron después de hacer el 1er truco. La cosa es, no te olvides de forzar el cierre de la aplicación antes de intentar reemplazar cosas, o la aplicación en ejecución simplemente lo ignorará.

0 votos

Al sustituir archivos, cuida muy bien la propiedad. A cada aplicación se le asigna un usuario/grupo Unix en el momento de la instalación, y con una instalación nueva, rara vez es el mismo que antes. Así que ack completo en "TiBu hace el trabajo" :)

0 votos

@Izzy ¡Maldita sea, propiedad! Sabía que se me escapaba algo pero no lo captaba al escribir.... Editado

0 votos

@Izzy Extrañamente, en mi experiencia, aunque poner una estructura completa sin tomar de la propiedad, etc no funciona, sobrescribir un solo archivo hace, y después de abrir la aplicación la próxima vez, el permiso y la propiedad se corrigen a sus valores previstos ... Android seguro que funciona de formas que ahora mismo no puedo comprender.

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