3 votos

Cómo (brute-)force-kill aplicaciones en segundo plano seleccionadas?

Necesito un método automático de fuerza bruta para dispositivos Android sin acceso root para matar aplicaciones seleccionadas que siguen reiniciándose en segundo plano, es decir, un "eliminador de tareas automático" adecuado. Idealmente, dicho método implica un comando de eliminación que se ejecuta dentro de un bucle indefinido. Dos ejemplos ilustrativos:

  1. En Windows, puedes ejecutar el siguiente script por lotes desde el símbolo del sistema:
:start
taskkill /f /im "nombre_proceso"
goto start
  1. En Linux, puedes ejecutar el siguiente script bash desde la terminal:
while true
do
    pkill -f nombre_proceso
done

Lo que necesito es un equivalente para Android, pero desafortunadamente, todavía no tengo experiencia en programar aplicaciones Android.

He probado varias aplicaciones "asesinas de tareas" como SuperFreezZ, pero solo puedes terminar procesos manualmente con ellas. Si Android decide reiniciar un proceso terminado o congelado en contra de tu voluntad, la nueva instancia no se termina automáticamente, haciendo que todas estas aplicaciones sean inútiles.

¿Hay alguna aplicación que pueda hacer el trabajo? Si no, ¿hay una forma sencilla de implementar un script en segundo plano para Android y hacer que se ejecute permanentemente?

NOTA IMPORTANTE: No me importa - repito - no me importa el uso de CPU/memoria/batería u cualquier sobrecarga causada por la aplicación de eliminación de tareas. El único propósito es matar aplicaciones en segundo plano seleccionadas tan pronto como se reinicien, ya sea por acción de Android o del usuario. Una pequeña aplicación o script que simplemente envíe comandos de eliminación apropiados cada pocos milisegundos sería suficiente (de ahí "fuerza bruta"). La suposición aquí es que no se puede evitar que Android reinicie aplicaciones en segundo plano sin acceso root al dispositivo, pero se puede cerrar forzadamente tan pronto como se lancen.

Para una mejor motivación, uno (de varios) casos de uso para mí es terminar el infame Servicio de Optimización de Juegos (GOS) de Samsung, que no se puede desinstalar ni siquiera a través de adb ya que se reinstala inmediatamente (similar a malware). Cuando el usuario lo termina, se reinicia después de varios minutos. Una aplicación adecuada de eliminación de tareas automatizaría el proceso de terminación para el usuario y aseguraría que GOS se ejecute solo durante una fracción minúscula del tiempo de ejecución del sistema. Hay varias razones más por las que deseo tal solución, las cuales no quiero abordar aquí ya que son irrelevantes para la pregunta.

0voto

Reddy Lutonadio Puntos 46

Puedes hacerlo usando una aplicación de automatización, además de usar adb de forma inalámbrica como lo indicaron @Andrew T. y @Morrison Chang respectivamente.

A. Habilitar la depuración inalámbrica

  1. Asegúrate de que las opciones de desarrollador están habilitadas.
  2. En las opciones de desarrollador, activa la depuración inalámbrica.

B. Usando Automate

Puedes usar Automate u otras aplicaciones como Macrodroid, Tasker, etc.

  1. Abre Automate, ve a Configuración.
  2. En la sección "Privileged & Superuser", selecciona "Método de inicio de servicio privilegiado", luego selecciona "Puente de depuración de Android (ADB)".
  3. Aparecerá una notificación. Presiona Mostrar. Se abrirán las opciones de desarrollador. Ve a la depuración inalámbrica y selecciona Emparejar dispositivo con código de emparejamiento.
  4. Aparecerá otra notificación. Ingresa el código mostrado. Automate se emparejará de forma inalámbrica utilizando adb.
  5. Vuelve a Automate y crea el flujo mostrado en la imagen de abajo.
  6. Presiona +, ve a Fecha y hora, selecciona Retraso.
  7. Presiona en el bloque de Retraso, luego en Duración y ingresa la duración que el bloque debe esperar. Presiona Guardar.
  8. Presiona +, ve a Aplicaciones, selecciona ¿Aplicaciones en primer plano?.
  9. Ajusta Proceder a Inmediatamente. Selecciona el paquete (esta es la aplicación que deseas detener). Presiona Guardar.
  10. Vincula los bloques de Retraso y ¿Aplicaciones en primer plano?.
  11. Presiona +, ve a Aplicaciones, selecciona Detener aplicación. Selecciona el paquete que deseas detener. Presiona Guardar
  12. Vincula el camino de No de ¿Aplicaciones en primer plano? al camino de Entrada del bloque Detener aplicación.
  13. Vincula el camino de OK de ¿Aplicaciones en primer plano? al camino de Entrada del bloque de Retraso.
  14. Opcional, para seleccionar todos los bloques, presiona en el ícono de Copiar, luego en el ícono de Pegar. Cambia el paquete a detener en los nuevos bloques.
  15. Presiona el botón/gesto de Atrás. Presiona Iniciar
  16. Da los permisos necesarios si se solicitan.
  17. Presiona Iniciar, selecciona los puntos de inicio, luego Iniciar. O presiona Iniciar Todo.

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