Múltiples copias de respaldo / restauración ADB individuales consecutivas sin solicitud

8

Estaba buscando cómo hacer copias de seguridad por lotes a través de comandos de copia de seguridad / restauración adb individuales (para tener archivos .ab separados por paquete / aplicación / datos / etc.) (Soy consciente de la aplicación de escritorio Helium (Carbon) como una opción para esto, estaría interesado en escribir mi propio guión por diversión de todos modos).

La razón para querer crear archivos .ab individuales frente a uno grande es que quiero tener una funcionalidad de copia de seguridad / restauración parcial 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, se debe proporcionar la entrada del usuario cuando aparece el mensaje: ¿hay alguna forma de evitar esto para poder usar la copia de seguridad / restauración de adb para múltiples paquetes individuales a través de algo como un script de shell?

¡Gracias!

mediantis
fuente

Respuestas:

2

Puede intentar usar adb shell input tap <x> <y>donde x e y son las coordenadas de dónde le gustaría tocar en la pantalla (puede mostrar las coordenadas en las Opciones de desarrollador). Pude usar 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.

PNMNS
fuente
1

Entonces, parece que no hay una forma integrada y (al menos aparentemente) intencionada para que hagamos esto.

En cambio, esto es posible a través del adb shell sendeventcomando: puede emular la entrada táctil desde una computadora con las herramientas adb (y cualquier controlador relevante) instalado, siempre que el teléfono haya proporcionado acceso adb a esa máquina específica.

Los eventos se pueden grabar con adb shell geteventy reproducir con adb shell sendevent. Un usuario podría grabar las pulsaciones de los botones de aceptación y guardar una secuencia de comandos que las reproduzca. Por supuesto, esto introduce problemas como cuando hay una superposición de pantalla (por ejemplo, de aplicaciones de iluminación de cambio rojo) que impide presionar 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 alternativa en el mejor de los casos.

mediantis
fuente
0

Esto parece particularmente extraño, pero de esa forma esperada malvada de Google. Desde mi propia comprensión incompleta pero creciente de las cosas, puede convertir el archivo de restauración en un archivo tar cambiando los primeros 24 bytes. Entonces, la pregunta es, ¿una simple extracción de alquitrán de una manera particular (¿remontando algo u otro rw temporalmente?) Lograría lo mismo que está haciendo la restauración de adb? Por supuesto, la fuente es teóricamente todo lo que hay. Estaba planeando probar cosas eventualmente y ver si parecen funcionar lo suficientemente bien como para justificar que no les importe lo suficiente como para investigar esa fuente. Sí, esta es una respuesta bastante mala, pero parece que vale la pena como marcador de posición hasta que un pequeño script de adb shell con invocación de tar o similar tome su lugar, que es lo que supongo que es el interrogador original y me gustaría ver.

Cobarde anónimo
fuente