2 votos

Copia de seguridad de los datos completos de una aplicación cuando el teléfono está atascado en el bootloop

Mi Moto G rooteado está atascado en un bootloop. Quiero hacer una copia de seguridad de una aplicación específica.

usb-debugging está activado. Tengo acceso a gestor de arranque y twrp recuperación. He probado a borrar la caché y la caché dalvik e incluso a flashear la ROM de nuevo. Ahora necesito limpiar el almacenamiento interno para que mi teléfono funcione.

El dispositivo no tiene una ranura para tarjetas SD. Necesito hacer una copia de seguridad de una aplicación antes de borrar todos mis datos. Los demás datos, como las fotos, los documentos, etc., ya están respaldados mediante el uso de otg cable y pen drive.

Intenté usar ADB para hacer una copia de seguridad pero no puedo confirmar la copia de seguridad en mi teléfono ya que no se muestra dicha pantalla en el modo de recuperación. Puedo simplemente copiar y luego pegar algunos archivos para restaurar la aplicación?

3voto

Firelord Puntos 161

Necesitarías un custom recovery para esta solución y parece que ya tienes instalado TWRP.

Configurar adb en PC, si no lo está ya. Arranque en modo de recuperación. Montar la partición de datos. Busca el nombre del paquete de tu aplicación, si no lo sabes ya, y ejecuta estos comandos:

adb shell 
busybox tar -C / -cvzhf /sdcard/PACKAGE\_NAME.tgz data/app/PACKAGE\_NAME\* data/data/PACKAGE\_NAME  # replace PACKAGE\_NAME with package name of the app

El último comando creará un tarball con extensión .tgz en /sdcard con nombre como nombre del paquete de la aplicación. El tarball contendría el APK de la aplicación (entre otras cosas) y los datos privados de la misma. La propiedad y los atributos de los archivos se conservarán automáticamente. Los atributos extendidos (como el contexto de SELinux) no se conservarán en este comando. 1

Su aplicación puede tener datos de acceso público bajo /sdcard/Android . Puede utilizar simplemente adb pull o MTP para copiar esos archivos en el PC y restaurarlos usando adb push o MTP, cuando sea necesario.

Para restaurar la copia de seguridad, hazlo:

adb shell
busybox tar -C / -xvzhf BACKUP\_PATH   # replace BACKUP\_PATH with the file path of your backup, such as /sdcard/PACKAGE\_NAME.tgz
restorecon -FRv /data/data/PACKAGE\_NAME  # this will set default SELinux context on the data files of your app

Desmonta la partición de datos, reinicia y deberías poder encontrar tu aplicación en estado restaurado.

Nota: He probado esta solución en una compilación no oficial de CM13.


1 Me he dado cuenta de que la build biónica de busybox (que se encuentra en TWRP v2.8.6.0) entre otros argumentos tiene -p para el alquitrán que se utiliza para almacenar contextos SELinux . Si el archivo fue creado usando ese argumento, entonces durante la extracción esos contextos serían restaurados automáticamente, por lo tanto, no es necesario ejecutar restorecon explícitamente.

1 votos

Ejecutar busybox tar para saber qué hacen esos comandos.

1 votos

He borrado mi teléfono pero probaré este método la próxima vez que mi teléfono explote. Muchas gracias.

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