rota - programa para hacer copias de seguridad android en pc gratis
La copia de seguridad de Adb no funciona (6)
Necesito la ayuda de ustedes, porque no sé qué hice mal con la copia de seguridad de Adb.
Quiero hacer una copia de seguridad de mi Samsung Galaxy S3 LTE (GT-I9305) sin root. Lo busqué en Google y encontré la copia de seguridad completa de Android con SDK Manager. Instalé todo lo que necesito para esto, como Java Development Kit 8 versión 66 (JDK 8u66 x64) y Android Studio, que contiene SDK Manager. Entonces están tristes, debería descargar el controlador USB de Google. Lo descargué pero no pasó nada. Pensé que debería funcionar ahora y luego fui a C: / Users / MYNAME / AppData / Local / Android / sdk / platform-tools y adb hizo clic izquierdo mientras mantenía Shift. Luego hice clic en "Abrir ventana de comando aquí". Después de esto escribí "adb devices" y dijo:
Lista de dispositivos conectados
Dispositivo 3204cfaaf8611199
Entonces escribí:
adb backup -apk -shared -all -f C:/Users/NAME/backup.ab
Decía
Ahora desbloquee su dispositivo y confirme la operación de copia de seguridad.
Hice esto y mi teléfono inteligente abrió "Copia de seguridad completa" y luego pude establecer una contraseña para la copia de seguridad. No necesito una contraseña y simplemente hice clic en "Copia de seguridad de mis datos" Luego volví a mi pantalla de inicio y dije "Iniciando copia de seguridad ..." como un mensaje de brindis e inmediatamente después de esto dijo "Copia de seguridad finalizada" y creé una Archivo de copia de seguridad con 40 bytes. No sé qué debo hacer ahora.
El problema es la versión adb de tu PC. Usando adb versión 1.0.31, la copia de seguridad / restauración será exitosa.
Más información en: https://android.stackexchange.com/questions/83080/adb-backup-creates-0-byte-file-prompts-for-current-backup-password-even-though y cómo degradar mi versión de SDK ?
En caso de que alguien siga teniendo problemas: en Windows, encontré las comillas solo en el directorio, por ejemplo, "C: / Users / NAME / backup.ab" funcionó.
En lugar de tratar de encontrar una versión antigua de adb, es más fácil agregar comillas a los argumentos para la copia de seguridad de adb :
adb backup ''-apk -shared -all -f C:/Users/NAME/backup.ab''
Esto solo funcionó con Ubuntu 15.10 ("wily") para hacer una copia de seguridad de un Galaxy SM-G900V con la versión de Android 6.0.1.
Instalado utilizando:
sudo apt-get install android-tools-adb
Luego ejecuté lo siguiente desde la línea de comando (sin ''sudo''):
adb backup -apk -shared -all -f backup.adb
Resultado:
user@hostname:~/droid$ ls -lah
total 1.2GB
drwxrwxr-x 2 user user 4.0BK Mar 6 18:43 .
drwxr-xr-x 52 user user 4.0KB Mar 6 17:40 ..
-rw-r----- 1 user user 1.2GB Mar 6 18:29 backup.ab
Gracias "NG". Estaba empezando a pensar que mi teléfono estaba fallando.
Se olvidó de agregar: Ejecución de la versión adb: Android Debug Bridge versión 1.0.31
La línea, que invoca correctamente adb
, debe verse así a mi lado:
adb backup "-apk -obb -shared -all -system" -f phone-20180522-120000.adb
Esta línea es para Linux, pero también debería hacerlo para Windows y OS-X. Para Linux (y probablemente OS-X), puede usar un script como el siguiente, que asigna automáticamente una marca de tiempo al archivo:
adb backup "-apk -obb -shared -all -system" -f "${PHONE:-phone}-`date +%Y%m%d-%H%M%S`.adb`"
Importante Después de hacer una copia de seguridad, verifique sus datos! A mi lado, a veces aparece algún daño en el archivo (y dudo que sea mi computadora, ya que solo observo tales errores con
adb
).Aquí hay una instrucción de
check
que utilizo:
set -o pipefail for a in *.adb; do echo "$a"; dd if="$a" bs=24 skip=1 | zlib-flate -uncompress | tar tf - >/dev/null; echo "ret=$?"; done
Debería mostrar
ret=0
, pero no lo hace.
- Si ve
inflate: data: invalid code lengths set
su archivo está dañado y, muy probablemente, ¡no se puede utilizar para restauración!- Si ve
tar: Unexpected EOF in archive
probablemente se pueda utilizar su copia de seguridad (todas las copias de seguridad terminan de esta manera, no sé por qué).- Incluso si ve
ret=0
es posible que haya errores no descubiertos que aún impidan una restauración.- ¡Definitivamente falta un comando de
adb verify
, para verificar la corrección de una copia de seguridad!
Para tu información
Publico esta actualización, ya que todas las demás respuestas fueron útiles, pero no exactas hasta el último detalle. (Cuando se usa con comillas completas, se realizó una copia de seguridad, pero se llamó backup.ab
)
Aquí está mi entorno:
- SO: Ubuntu 16.04
- Teléfono: Android 7.0
- ADB: 1.0.32
El procedimiento completo fue (en caso de que alguien se tropiece con esto sin saber lo que se necesita):
- Zeroth: instale
adb
(en Ubuntu:sudo apt-get install android-tools-adb
) - Primero: habilite el modo de depuración USB en el teléfono .
- Segundo: conecte el teléfono al USB de la computadora con un cable de datos USB (un cable de solo carga no es suficiente)
- Tenga en cuenta que el Administrador de teléfonos de Ubuntu puede aparecer y pedirle el PIN del teléfono. No necesitas eso, cierra esto si sucede.
- Tercero: ejecute
adb devices
: debería ver algo comoXXXXXXXXXXXX unauthorized
- Después de algún tiempo en su teléfono, aparece un mensaje que solicita el permiso de depuración de USB
- Permitir esto una vez. Por razones de seguridad, no debe confiar automáticamente en la computadora, ya que la huella dactilar se puede falsificar fácilmente.
- Tenga en cuenta que si algo está obstruyendo un solo píxel de esta ventana de confirmación (como un botón de función de accesibilidad) no puede tocar el
OK
. Primero mueva la ventana que obstruye.
- Adelante: ahora ejecute de nuevo los
adb devices
: debería ver algo como elXXXXXXXXXXXX device
- Si aparece más de una línea, conectó más de un teléfono a la computadora. La forma más fácil es desconectar todos aquellos que no desea respaldar. (La forma compleja es establecer la variable de entorno
ANDROID_SERIAL=XXXXXXXXXXXX
).
- Si aparece más de una línea, conectó más de un teléfono a la computadora. La forma más fácil es desconectar todos aquellos que no desea respaldar. (La forma compleja es establecer la variable de entorno
Ahora ejecuta adb backup
como se muestra arriba. Cambia el archivo a tus necesidades.
- Esto abre una ventana que solicita permiso de copia de seguridad.
- No cierre la ventana de copia de seguridad mientras se realiza la copia de seguridad. Cuando intenté esto, la copia de seguridad se detuvo y el archivo resultante se rompió.
- Puede dar una contraseña para cifrar su copia de seguridad. No tengo ninguna información sobre la seguridad de la contraseña. Pero es muy probable que no pueda restaurar la copia de seguridad realizada en caso de que alguna vez olvide esta contraseña.
- No tengo idea de cómo restaurar dicha copia de seguridad en otros teléfonos. Incluso nunca intenté la restauración, así que tampoco puedo ayudar aquí.
Notas:
-
adb help
muestra todas las opciones posibles para laadb backup
- Cierre todas las aplicaciones abiertas en su teléfono antes de la copia de seguridad. No sé si esto es necesario, pero ciertamente no puede hacer daño.
- Deje el teléfono solo mientras se ejecuta la copia de seguridad. No sé si esto es necesario, pero ciertamente no puede hacer daño.
- No seas impaciente. Deja la copia de seguridad un montón de tiempo. A mi lado veo un progreso de alrededor de 100 MB / Minuto (YMMV). Por lo tanto, la copia de seguridad demora aproximadamente media hora para mi teléfono (2.5 GB).
Al parecer, la adb backup
no hace una copia de seguridad de todo!
cd X && dd if=../XXXX.adb bs=24 skip=1 | zlib-flate -uncompress | tar xf -
un vistazo a la copia de seguridad ( cd X && dd if=../XXXX.adb bs=24 skip=1 | zlib-flate -uncompress | tar xf -
) y no encontré todas las aplicaciones instaladas.
Lo que pude encontrar fue (tenga en cuenta que esta lista está incompleta):
- Tarjeta SD emulada interna:
shared/0
- Tarjeta SD externa:
shared/1
- Aplicaciones:
apps/
- faltaban muchas aplicaciones (como Google Authenticator) - Calendario:
apps/com.android.providers.calendar/db/calendar.db
(probablemente)
Lo que no pude encontrar (note que esta lista está incompleta):
- Alarmas (Probablemente no pude detectar la aplicación correcta)
- Tarjeta SD externa completa (hay más en esta tarjeta de lo que se muestra a continuación en
share/1
Por ejemplo, las aplicaciones, que se mueven a SD)
Conclusiones:
- A veces, la
adb backup
puede crear copias de seguridad dañadas, que pueden pasar desapercibidas. Así que revise su copia de seguridad o haga copias de seguridad frecuentes y pretenda tener la suerte de que no todas las copias de seguridad se corrompan. - Con
adb backup
, obtiene una copia de seguridad de la mayoría de sus datos valiosos, como imágenes de cámaras, etc. Aunque podría ser un poco difícil desempacarlo. -
adb backup
no es suficiente para hacer una copia de seguridad completa de su teléfono. -
adb backup
no es suficiente para hacer una copia de seguridad de su tarjeta SD, por lo que si se rompe, puede reemplazarla por una nueva con el contenido restaurado. ¡Esto es muy triste!
PD: El error tipográfico " Forth " no es accidental.
PPS: zlib-flate
se puede encontrar en el paquete qpdf
en Ubuntu 18.04
Parece que no todas las aplicaciones pueden ser respaldadas. Aparentemente, Android permite que las aplicaciones deshabiliten la copia de seguridad :(
https://developer.android.com/guide/topics/manifest/application-element.html (búsqueda de allowbackup)