8 votos

Múltiples copias de seguridad/restauraciones individuales consecutivas de ADB sin aviso

Estaba investigando cómo hacer copias de seguridad por lotes a través de comandos individuales de adb backup/restore (para tener archivos .ab separados por paquete/aplicación/datos/etc.) (estoy al tanto de la aplicación de escritorio Helium (Carbon) como una opción para esto - estaría interesado en escribir mi propio script por diversión de todos modos).

La razón de querer crear archivos .ab individuales frente a uno grande es que quiero poder tener una funcionalidad de copia de seguridad/restauración parcial sólo para paquetes individuales, y no tener que hacer, por ejemplo, 50 aplicaciones a la vez.

El principal obstáculo en este momento es que cada vez que se produce una copia de seguridad / restauración, la entrada del usuario tiene que ser dado cuando el símbolo aparece - ¿hay una manera de evitar esto para ser capaz de utilizar adb backup / restore para múltiples paquetes individuales a través de algo así como un shell script?

Gracias.

2voto

Compl Yue Puntos 13

Puede intentar utilizar adb shell input tap <x> <y> donde x e y son las coordenadas del lugar de la pantalla en el que quieres tocar (puedes mostrar las coordenadas en las opciones de desarrollo). Pude utilizar este código para restaurar una copia de seguridad individual:

#$1 is backup file

adb restore ${1} &
sleep 2
adb shell input touchscreen tap <x> <y>
wait

Me pareció útil dormir un par de segundos después del comando de restauración, pero puede que no sea necesario.

1voto

Agzam Puntos 133

Por lo tanto, parece que no hay una forma incorporada y (al menos aparentemente) prevista para que lo hagamos.

En cambio, esto es posible a través del adb shell sendevent Este comando puede emular la entrada táctil desde un ordenador con las herramientas adb (y los controladores pertinentes) instaladas, siempre que el teléfono haya proporcionado acceso adb a esa máquina específica.

Los eventos pueden ser registrados usando adb shell getevent y reproducido con adb shell sendevent . Un usuario podría entonces grabar las pulsaciones de los botones de aceptación, y guardar un script que las repita. Por supuesto, esto introduce problemas como cuando hay una superposición de pantalla (por ejemplo, de las aplicaciones de iluminación de cambio de color rojo) que impiden pulsar el botón, si aparece algo más (tal vez una burbuja de chat, etc.), y cualquier otro número de obstrucciones, por lo que es una solución en el mejor de los casos.

0voto

esto parece particularmente extraño, pero en esa forma esperada del mal de google. Desde mi propia comprensión incompleta pero creciente de las cosas- se puede convertir el archivo de restauración a un archivo tar cambiando los primeros 24 bytes. Así que la pregunta es, ¿una simple extracción de tar de una manera particular (volver a montar algo u otro rw temporalmente?) lograr la misma cosa que la restauración adb está haciendo? Por supuesto, la fuente es teóricamente todo lo que hay. Estaba planeando probar las cosas eventualmente y ver si parecen funcionar lo suficientemente bien como para justificar no preocuparse lo suficiente como para cavar a través de esa fuente. Sí, esta es una respuesta bastante cutre, pero parece que vale la pena como marcador de posición hasta que un poco de adb shell script con invocación de tar o algo parecido tome su lugar, que es lo que supongo que el preguntante original y yo quisiéramos ver.

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