2012-10-05 52 views
5

¿Hay alguna manera de usar la desinstalación de adb en la apk, pero hacer que los datos persistan? Perdí la clave original de mi aplicación y ahora me gustaría actualizarla, pero sin perder los datos anteriores. Entonces necesito desinstalarlo primero para agregar la nueva aplicación con la nueva clave. es posible?Cómo desinstalar Android apk sin perder datos?

Olvidé mencionar que estoy ejecutando comandos a través de un archivo .bat.

+0

¿No se puede copiar archivos pull/data/data/ y luego desinstalar? – Shark

+0

@Shark Creo que podría hacerlo, pero ¿puedo hacer esto usando un archivo .bat? ¿Y lo inserto en el dispositivo de la misma manera que lo eliminé usando push? –

+0

No veo una razón por la que no. – Shark

Respuesta

2

Versión compatible con lotes.

My-make-clean.bat: 
adb pull /data/data/com.blah.bla/file1 file1 
adb pull /data/data/com.blah.bla/file2 file2 
adb pull /data/data/com.blah.bla/file3 file3 
... 
adb uninstall com.blah.bla 
adb install YourApkFile.apk 
+0

Me alegra oír que funcionó :) – Shark

-1

Si su dispositivo está rooteado, puede acceder al /data/<package_name> que contiene los datos de la aplicación, y puede hacer una copia de seguridad de la misma.

Si su dispositivo no está rooteado, no tiene otro medio para guardar sus datos.

0

Si sus datos almacenados son públicos, se mantendrán después de la desinstalación, pero si sus datos se almacenan en privado, sus datos se eliminarán cuando desinstale su aplicación.

4

EDIT: En caso de haber especificado, el siguiente trabajo sólo para Android 4.0 y superior.

Solamente es necesario activar adb acceder y utilizar este comando:

adb backup -noapk -f /backup/myAppBackup.ab com.yourapp.packagename

A continuación, debe haber un archivo almacenado en el directorio raíz (en Windows, la carpeta C: \ o equivalente) en una carpeta llamada apoyo.

Una vez que tenga este archivo, asumiendo el nombre del paquete sigue siendo el mismo, debe ser capaz de utilizar simplemente el comando

adb restore /backup/myAppBackup.ab

para restaurar los datos.

Ahora, no sé para cierto que esto funcionará una vez que haya cambiado la clave, pero estoy bastante seguro de que se basa únicamente en el nombre del paquete, por lo que la clave de firma no debería importar. Más información here.

+0

Gracias, el primer comando creó la copia de seguridad, pero parece que no está haciendo la copia de seguridad. Intenté a través de adb shell y dice "no se puede conectar para la copia de seguridad" –

+0

Lo raro es que no veo la pantalla de solicitud de copia de seguridad en la guía que ha publicado. –

+0

¿Qué sistema operativo está ejecutando? Esto solo funciona en 4.0 y superior. – kcoppock

Cuestiones relacionadas