He conseguido hacer una copia de seguridad adb de mi teléfono basándome en la respuesta de @sameer. Sin embargo, como se señala en los comentarios allí, es necesario confirmar la copia de seguridad utilizando la pantalla después de ejecutar el adb backup
comando.
Así que, en primer lugar, hay que tener adb
instalado. Asegúrese de que su dispositivo aparece y está autorizado:
# adb devices
List of devices attached
EP732284Z8 device
A continuación, ejecute adb shell input
para asegurarnos de que los comandos que vamos a utilizar están ahí. Deberías ver algo así:
# adb shell input
Usage: input [<source>] <command> [<arg>...]
The sources are:
mouse
keyboard
joystick
touchnavigation
touchpad
trackball
stylus
dpad
touchscreen
gamepad
The commands and default sources are:
text <string> (Default: touchscreen)
keyevent [--longpress] <key code number or name> ... (Default: keyboard)
tap <x> <y> (Default: touchscreen)
swipe <x1> <y1> <x2> <y2> [duration(ms)] (Default: touchscreen)
press (Default: trackball)
roll <dx> <dy> (Default: trackball)
A continuación, instalaremos TouchControl para poder ver lo que ocurre en la pantalla. Esto no funcionará si tu dispositivo no está ya en modo de depuración USB y no está autorizado (es decir, si ves "no autorizado" o "desconectado" después de ejecutar el primer comando). He instalado la versión para Linux. Tuve que instalar boost para que funcionara. Debería funcionar también en Windows.
Necesitamos desbloquear el dispositivo. Para ello, usaremos "adb shell input swipe [x1] [y1] [x2] [y2] [duration]" con (x1, y1, x2, y2) dependiendo de tu dispositivo y la duración podría ser 250 (en ms). Como referencia, puedes mirar los números en este archivo (busque "shell input swipe"). En mi caso la resolución de mi dispositivo es "1920x1080" así que miré la parte que decía " if (i.toStdString() == "1080x1920") {
. Ese código hace un barrido de izquierda a derecha. Yo necesito desbloquear mi dispositivo deslizando de abajo hacia arriba, así que usé (300, 1100, 300, 950) con una duración de 300, es decir, "adb shell input swipe 300 1100 300 950 300". Tendrás que experimentar con los valores y ver qué cambia en la pantalla "virtual" para conseguirlo. En mi caso (0, 0) era la parte superior izquierda y (300, 1100) estaba hacia la parte inferior central.
Si tiene una contraseña o un PIN, puede introducirlo con adb shell input text "<yourpasswordhere>"
. Si tienes un patrón, entonces tendrás que averiguar las coordenadas de cada punto y hacer tu patrón usando adb shell swipe
comandos. (Buena suerte con eso, llevará algún tiempo). Si no, podrías probar con algunas aplicaciones para evitar el bloqueo de pantalla e instalarlas a través de adb install
. Yo no tenía nada de eso, así que no estoy seguro de lo que te funcionará.
Ahora ejecute el adb backup
comando:
# adb backup -apk -shared -obb -all -system -f ./android-backup.ab
Now unlock your device and confirm the backup operation.
A continuación, tendrás una pantalla como ésta (haz clic en la imagen para verla a tamaño completo):
Así que ahora, presionaremos "TAB" dos veces para llegar al botón "BACKUP MY DATA", luego presionaremos "ENTER" para confirmar. Básicamente, basándonos en los números en esa respuesta :
adb shell input keyevent 61
adb shell input keyevent 61
adb shell input keyevent 66
Ahora su copia de seguridad ha comenzado. ¡Yey!
P.D. Para ver el progreso de la actualización, puedes ver el crecimiento del tamaño del archivo. En linux, puedes ejecutar un comando como este: watch -n 5 "du -h ./*.ab"
o watch -n 5 "du --time -m ./*.ab"
P.P.S. Puede utilizar un comando como adb shell input swipe 300 0 300 950 300
para abrir el cajón de notificaciones y abd shell input tap [x1] [y1]
para presionar sobre las notificaciones y luego adb shell text [sometext]
para escribir. Y puedes usar adb shell input keyevent [61|66]
para presionar prácticamente cualquier cosa sin conocer sus coordenadas.
P.P.P.S. Estoy en un Xpreria ZR corriendo "10.7.A.0.222" Android versión 5.1.1. Sus comandos exactos pueden variar dependiendo de la resolución de su pantalla y de la versión de Android (por ejemplo, una forma diferente de desbloquear, un número diferente de veces para pulsar TAB, etc.).
Espero que esto ayude.
0 votos
Cuando dices transferir una aplicación, ¿te refieres sólo al apk o a los datos incluidos?
0 votos
@MinNaingOo sólo el APK