3 votos

¿Por qué la aplicación Automate requiere ADB?

Necesito configurar un servicio de cierre de aplicaciones para dispositivos Android 9 sin root utilizando Automate. El servicio tiene que iniciarse automáticamente al encender el dispositivo y seguir enviando comandos de cierre a servicios del sistema seleccionados (!) en intervalos regulares a menos que dichos servicios estén en foco/en primer plano.

Desafortunadamente, configurar y ejecutar Automate parece innecesariamente complicado. He utilizado adb extensamente, así que no hay problema allí. Sin embargo, el paso 5 en el manual de instalación dice

  1. En el PC, ejecuta el comando de shell adb tcpip 5555. Este paso tiene que repetirse después de cada reinicio del dispositivo.

Además:

Una vez emparejado/autorizado, el servicio se iniciará automáticamente cuando se utilice por primera vez, por ejemplo, por un bloque que lo utilice, luego se ejecutará en segundo plano hasta que el sistema lo detenga, el dispositivo se reinicie, o la aplicación se desinstale o se actualice.

Tener que conectar un dispositivo móvil a un PC después de cada reinicio (por ejemplo, debido a una batería vacía) es completamente imposible y contradice el uso de Android en sí mismo. ¿Existe una manera de configurar Automate completamente localmente desde dentro de Android, o al menos solo una vez desde un PC al principio y luego hacer que la aplicación se ejecute automáticamente incluso después de un reinicio del dispositivo?

Ya he configurado un flujo simple de Automate como ejemplo mínimo y otorgado todos los privilegios necesarios, como acceso a la tarjeta SD, ejecución de comandos de shell, y acceso al servicio de accesibilidad de Samsung. Además, la depuración por USB está habilitada en las opciones para desarrolladores. Pero al ejecutar el flujo, obtengo los siguientes errores en la salida del registro:

Inicio del flujo
Retraso
¿Aplicación en primer plano?
Cerrar aplicación
Error al iniciar el servicio privilegiado
java.util.concurrent.CancellationException: Por favor ejecuta: sh /sdcard/Android/data/com.llamalab.automate/cache/start.sh
java.util.concurrent.TimeoutException: Tiempo de espera de inicio del servicio
Detenido por falla

0voto

rrainn Puntos 1778

Automate no requiere ADB ni un dispositivo rooteado, pero algunas funciones sí, como por ejemplo el bloque Cerrar app para finalizar los procesos de otras aplicaciones en ejecución.

Configurar ADB es un poco engorroso ya que es una función para desarrolladores de aplicaciones, no está diseñada para ser de fácil uso por los usuarios de aplicaciones o por las propias aplicaciones.

Configurar Automate "100% localmente", es decir, sin necesidad de un PC conectado por USB, solo puede hacerse en Android 11 o superior usando la función de "Depuración inalámbrica" del sistema. Para hacerlo, simplemente elige la opción "Android Debug Bridge (ADB)" como el "Método de inicio de servicio privilegiado" en la configuración de Automate, luego sigue las instrucciones en pantalla para habilitar la opción de "Depuración inalámbrica" y emparejar Automate con el dispositivo. El proceso de emparejamiento solo se tiene que hacer una vez, pero habilitar la "Depuración inalámbrica" debe hacerse manualmente después de cada reinicio, a menos que automatices el procedimiento.

El mensaje de error registrado significa que Automate no puede acceder/iniciar su "servicio privilegiado", por ejemplo, el que el bloque Cerrar app utiliza, y te indica que ejecutes el script de shell para hacerlo, esto significa que has seleccionado la opción "Manualmente" como "Método de inicio de servicio privilegiado". Intenta con la opción "Android Debug Bridge (ADB)" en su lugar.

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